repositories
/
mTask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add external libraries and update stm version
[mTask.git]
/
int
/
nucleo-f767-blinky
/
src
/
interpret.c
diff --git
a/int/nucleo-f767-blinky/src/interpret.c
b/int/nucleo-f767-blinky/src/interpret.c
index
4238f44
..
ad9cdad
100644
(file)
--- a/
int/nucleo-f767-blinky/src/interpret.c
+++ b/
int/nucleo-f767-blinky/src/interpret.c
@@
-3,14
+3,15
@@
#include "mTaskSymbols.h"
#include "interpret.h"
#include "mTaskSymbols.h"
#include "interpret.h"
-#include "
misc
.h"
+#include "
interface
.h"
#include "task.h"
#include "sds.h"
#include "task.h"
#include "sds.h"
-#ifdef
ARDUINO
+#ifdef
STM32F767xx
#define trace(op, ...) ;
#else
#define trace(op, ...) ;
#else
-#define trace(op, ...) printf("pc: %d, sp: %d, op: " op, pc, sp, ##__VA_ARGS__);
+#define trace(op, ...) ;
+//printf("pc: %d, sp: %d, op: " op, pc, sp, ##__VA_ARGS__);
#endif
void run_task(struct task *t)
#endif
void run_task(struct task *t)
@@
-20,10
+21,10
@@
void run_task(struct task *t)
int pc = 0;
int sp = 0;
char stack[STACKSIZE] = {0};
int pc = 0;
int sp = 0;
char stack[STACKSIZE] = {0};
-
printf
("Running task with length: %d\n", plen);
+
debug
("Running task with length: %d\n", plen);
while(pc != plen){
while(pc != plen){
-
printf
("program: %d\n", program[pc]);
-
printf
("stack: %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n",
+
debug
("program: %d\n", program[pc]);
+
debug
("stack: %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n",
stack[0], stack[1], stack[2], stack[3], stack[4],
stack[5], stack[6], stack[7], stack[8], stack[9]);
stack[0], stack[1], stack[2], stack[3], stack[4],
stack[5], stack[6], stack[7], stack[8], stack[9]);
@@
-120,16
+121,18
@@
void run_task(struct task *t)
case BCSERIALPARSEINT: trace("SerialParseInt()\n");
break;
case BCANALOGREAD: trace("AnalogRead(%d)\n", program[pc]);
case BCSERIALPARSEINT: trace("SerialParseInt()\n");
break;
case BCANALOGREAD: trace("AnalogRead(%d)\n", program[pc]);
-
pc++
;
+
stack[sp++] = read_apin(program[pc++])
;
break;
case BCANALOGWRITE: trace("AnalogWrite(%d)\n", program[pc]);
break;
case BCANALOGWRITE: trace("AnalogWrite(%d)\n", program[pc]);
- pc++;
+ write_apin(program[pc++], stack[sp-1]);
+ sp--;
break;
case BCDIGITALREAD: trace("DigitalRead(%d)\n", program[pc]);
break;
case BCDIGITALREAD: trace("DigitalRead(%d)\n", program[pc]);
-
pc++
;
+
stack[sp++] = read_dpin(program[pc++])
;
break;
case BCDIGITALWRITE: trace("DigitalWrite(%d)\n", program[pc]);
break;
case BCDIGITALWRITE: trace("DigitalWrite(%d)\n", program[pc]);
- pc++;
+ write_dpin(program[pc++], stack[sp-1]);
+ sp--;
break;
default:
trace("unrecognized\n");
break;
default:
trace("unrecognized\n");