summaryrefslogtreecommitdiffstatshomepage
path: root/stm
diff options
context:
space:
mode:
authorDave Hylands <dhylands@gmail.com>2014-01-07 09:49:42 -0800
committerDave Hylands <dhylands@gmail.com>2014-01-08 00:29:44 -0800
commit9b7b947b015d733586a7de6159d533cbdb01ac18 (patch)
treee0ba05410d421322ade0faf8c31cecd80e746c17 /stm
parent6d6bc9efc17c0fd4f28f935280db6d8dee100d4f (diff)
downloadmicropython-9b7b947b015d733586a7de6159d533cbdb01ac18.tar.gz
micropython-9b7b947b015d733586a7de6159d533cbdb01ac18.zip
Updated teensy to use common code from stm directory.
Updated mconfigport.h to enable GC
Diffstat (limited to 'stm')
-rw-r--r--stm/Makefile3
-rw-r--r--stm/lexerfatfs.c (renamed from stm/lexerstm.c)24
-rw-r--r--stm/lexerfatfs.h8
-rw-r--r--stm/lexerstr.c28
-rw-r--r--stm/lexerstr.h (renamed from stm/lexerstm.h)8
-rw-r--r--stm/main.c3
6 files changed, 41 insertions, 33 deletions
diff --git a/stm/Makefile b/stm/Makefile
index fecd525276..478441e04b 100644
--- a/stm/Makefile
+++ b/stm/Makefile
@@ -30,7 +30,8 @@ SRC_C = \
string0.c \
malloc0.c \
systick.c \
- lexerstm.c \
+ lexerstr.c \
+ lexerfatfs.c \
led.c \
lcd.c \
servo.c \
diff --git a/stm/lexerstm.c b/stm/lexerfatfs.c
index 661dfb0160..5dcaca1606 100644
--- a/stm/lexerstm.c
+++ b/stm/lexerfatfs.c
@@ -5,29 +5,7 @@
#include "misc.h"
#include "lexer.h"
-#include "lexerstm.h"
-
-unichar str_buf_next_char(mp_lexer_str_buf_t *sb) {
- if (sb->src_cur < sb->src_end) {
- return *sb->src_cur++;
- } else {
- return MP_LEXER_CHAR_EOF;
- }
-}
-
-void str_buf_free(mp_lexer_str_buf_t *sb) {
- if (sb->free) {
- m_del(char, (char*)sb->src_beg, 0 /* don't know allocated size of src */);
- }
-}
-
-mp_lexer_t *mp_lexer_new_from_str_len(const char *src_name, const char *str, uint len, bool free_str, mp_lexer_str_buf_t *sb) {
- sb->free = free_str;
- sb->src_beg = str;
- sb->src_cur = str;
- sb->src_end = str + len;
- return mp_lexer_new(src_name, sb, (mp_lexer_stream_next_char_t)str_buf_next_char, (mp_lexer_stream_close_t)str_buf_free);
-}
+#include "lexerfatfs.h"
unichar file_buf_next_char(mp_lexer_file_buf_t *fb) {
if (fb->pos >= fb->len) {
diff --git a/stm/lexerfatfs.h b/stm/lexerfatfs.h
new file mode 100644
index 0000000000..2b41ed136b
--- /dev/null
+++ b/stm/lexerfatfs.h
@@ -0,0 +1,8 @@
+typedef struct _py_lexer_file_buf_t {
+ FIL fp;
+ char buf[20];
+ uint16_t len;
+ uint16_t pos;
+} mp_lexer_file_buf_t;
+
+mp_lexer_t *mp_lexer_new_from_file(const char *filename, mp_lexer_file_buf_t *fb);
diff --git a/stm/lexerstr.c b/stm/lexerstr.c
new file mode 100644
index 0000000000..cc6be1d1ed
--- /dev/null
+++ b/stm/lexerstr.c
@@ -0,0 +1,28 @@
+#include <stdint.h>
+#include <stdio.h>
+
+#include "misc.h"
+#include "lexer.h"
+#include "lexerstr.h"
+
+unichar str_buf_next_char(mp_lexer_str_buf_t *sb) {
+ if (sb->src_cur < sb->src_end) {
+ return *sb->src_cur++;
+ } else {
+ return MP_LEXER_CHAR_EOF;
+ }
+}
+
+void str_buf_free(mp_lexer_str_buf_t *sb) {
+ if (sb->free) {
+ m_del(char, (char*)sb->src_beg, 0 /* don't know allocated size of src */);
+ }
+}
+
+mp_lexer_t *mp_lexer_new_from_str_len(const char *src_name, const char *str, uint len, bool free_str, mp_lexer_str_buf_t *sb) {
+ sb->free = free_str;
+ sb->src_beg = str;
+ sb->src_cur = str;
+ sb->src_end = str + len;
+ return mp_lexer_new(src_name, sb, (mp_lexer_stream_next_char_t)str_buf_next_char, (mp_lexer_stream_close_t)str_buf_free);
+}
diff --git a/stm/lexerstm.h b/stm/lexerstr.h
index 7e090898a2..961a70ada4 100644
--- a/stm/lexerstm.h
+++ b/stm/lexerstr.h
@@ -5,12 +5,4 @@ typedef struct _py_lexer_str_buf_t {
const char *src_end; // end (exclusive) of source
} mp_lexer_str_buf_t;
-typedef struct _py_lexer_file_buf_t {
- FIL fp;
- char buf[20];
- uint16_t len;
- uint16_t pos;
-} mp_lexer_file_buf_t;
-
mp_lexer_t *mp_lexer_new_from_str_len(const char *src_name, const char *str, uint len, bool free_str, mp_lexer_str_buf_t *sb);
-mp_lexer_t *mp_lexer_new_from_file(const char *filename, mp_lexer_file_buf_t *fb);
diff --git a/stm/main.c b/stm/main.c
index a038c89b74..a2f3bc7f03 100644
--- a/stm/main.c
+++ b/stm/main.c
@@ -19,7 +19,8 @@
#include "nlr.h"
#include "misc.h"
#include "lexer.h"
-#include "lexerstm.h"
+#include "lexerstr.h"
+#include "lexerfatfs.h"
#include "parse.h"
#include "obj.h"
#include "compile.h"