Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of TinyJS by
main.cpp@9:f80cf055f03d, 2014-09-10 (annotated)
- Committer:
- va009039
- Date:
- Wed Sep 10 08:41:53 2014 +0000
- Revision:
- 9:f80cf055f03d
- Parent:
- 6:30b4122b0ee2
for GAE
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ohneta | 0:aae260bdcdd9 | 1 | /* |
ohneta | 0:aae260bdcdd9 | 2 | * TinyJS for mbed. |
ohneta | 0:aae260bdcdd9 | 3 | * |
ohneta | 0:aae260bdcdd9 | 4 | * Authored by Takehisa Oneta (ohneta@gmail.com) |
ohneta | 0:aae260bdcdd9 | 5 | * 10th Jan. 2013 |
ohneta | 0:aae260bdcdd9 | 6 | */ |
ohneta | 0:aae260bdcdd9 | 7 | |
ohneta | 1:d793f113cfc0 | 8 | /* |
ohneta | 1:d793f113cfc0 | 9 | * JavaScript samples |
ohneta | 1:d793f113cfc0 | 10 | * for (x = 0; x < 256; x++) {for (var i = 0; i <= 3; i++) {mbed.DigitalOut(led1, (1 << i) & 0x01);mbed.DigitalOut(led2, (1 << i) & 0x02);mbed.DigitalOut(led3, (1 << i) & 0x04);mbed.DigitalOut(led4, (1 << i) & 0x08);for (j = 0; j < 300; j++) dummy=0;}for (var i = 3; i >= 0; i--) {mbed.DigitalOut(led1, (1 << i) & 0x01);mbed.DigitalOut(led2, (1 << i) & 0x02);mbed.DigitalOut(led3, (1 << i) & 0x04);mbed.DigitalOut(led4, (1 << i) & 0x08);for (j = 0; j < 10; j++) dummy=0;}}; |
ohneta | 1:d793f113cfc0 | 11 | */ |
ohneta | 1:d793f113cfc0 | 12 | |
ohneta | 0:aae260bdcdd9 | 13 | #include "mbed.h" |
ohneta | 0:aae260bdcdd9 | 14 | #include "TinyJS.h" |
ohneta | 3:f56c36ea8266 | 15 | #include "Mbed_Functions.h" |
ohneta | 0:aae260bdcdd9 | 16 | |
ohneta | 0:aae260bdcdd9 | 17 | Serial pc(USBTX, USBRX); |
ohneta | 0:aae260bdcdd9 | 18 | |
ohneta | 0:aae260bdcdd9 | 19 | //unsigned char usbArea[1024] __attribute__((section("AHBSRAM0"))); |
ohneta | 0:aae260bdcdd9 | 20 | //unsigned char ethArea[1024] __attribute__((section("AHBSRAM1"))); |
ohneta | 0:aae260bdcdd9 | 21 | |
ohneta | 0:aae260bdcdd9 | 22 | |
ohneta | 0:aae260bdcdd9 | 23 | extern int tinyjs_main(int argc, char **argv); |
ohneta | 0:aae260bdcdd9 | 24 | |
ohneta | 0:aae260bdcdd9 | 25 | //--------------------------------------------- |
ohneta | 0:aae260bdcdd9 | 26 | |
ohneta | 0:aae260bdcdd9 | 27 | int readOneLine(char *buffer, const int bufferSize) |
ohneta | 0:aae260bdcdd9 | 28 | { |
ohneta | 0:aae260bdcdd9 | 29 | int len = 0; |
ohneta | 0:aae260bdcdd9 | 30 | |
ohneta | 0:aae260bdcdd9 | 31 | buffer[0] = '\0'; |
ohneta | 0:aae260bdcdd9 | 32 | while (true) { |
ohneta | 0:aae260bdcdd9 | 33 | char c = pc.getc(); |
ohneta | 0:aae260bdcdd9 | 34 | pc.putc(c); |
ohneta | 0:aae260bdcdd9 | 35 | |
ohneta | 0:aae260bdcdd9 | 36 | if ('\r' == c) { |
ohneta | 0:aae260bdcdd9 | 37 | return len; |
ohneta | 0:aae260bdcdd9 | 38 | } else if( '\n' == c ) { |
ohneta | 0:aae260bdcdd9 | 39 | } else { |
ohneta | 0:aae260bdcdd9 | 40 | buffer[len] = c; |
ohneta | 0:aae260bdcdd9 | 41 | buffer[len + 1] = '\0'; |
ohneta | 0:aae260bdcdd9 | 42 | len++; |
ohneta | 0:aae260bdcdd9 | 43 | if (len > bufferSize) { |
ohneta | 0:aae260bdcdd9 | 44 | return len; |
ohneta | 0:aae260bdcdd9 | 45 | } |
ohneta | 0:aae260bdcdd9 | 46 | } |
ohneta | 0:aae260bdcdd9 | 47 | } |
ohneta | 0:aae260bdcdd9 | 48 | |
ohneta | 0:aae260bdcdd9 | 49 | return len; |
ohneta | 0:aae260bdcdd9 | 50 | } |
ohneta | 0:aae260bdcdd9 | 51 | |
ohneta | 0:aae260bdcdd9 | 52 | //--------------------------------------------- |
ohneta | 0:aae260bdcdd9 | 53 | //--------------------------------------------- |
va009039 | 9:f80cf055f03d | 54 | #if 0 |
ohneta | 0:aae260bdcdd9 | 55 | int main() { |
ohneta | 0:aae260bdcdd9 | 56 | pc.baud(57600); |
ohneta | 0:aae260bdcdd9 | 57 | |
ohneta | 0:aae260bdcdd9 | 58 | while(1) { |
ohneta | 0:aae260bdcdd9 | 59 | printf("\n"); |
ohneta | 0:aae260bdcdd9 | 60 | printf("--------------------------\n"); |
ohneta | 6:30b4122b0ee2 | 61 | printf("TinyJS on mbed\n"); |
ohneta | 0:aae260bdcdd9 | 62 | |
ohneta | 0:aae260bdcdd9 | 63 | tinyjs_main(NULL, NULL); |
ohneta | 0:aae260bdcdd9 | 64 | |
ohneta | 0:aae260bdcdd9 | 65 | printf("--------------------------\n"); |
ohneta | 0:aae260bdcdd9 | 66 | printf("bye bye\n"); |
ohneta | 0:aae260bdcdd9 | 67 | } |
ohneta | 0:aae260bdcdd9 | 68 | } |
va009039 | 9:f80cf055f03d | 69 | #endif |