repositories
/
mTask.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added debug statements, dynamic allocation is working for tasks
[mTask.git]
/
client
/
interpret.c
diff --git
a/client/interpret.c
b/client/interpret.c
index
51e2951
..
6f2f20d
100644
(file)
--- a/
client/interpret.c
+++ b/
client/interpret.c
@@
-19,17
+19,12
@@
void run_task(struct task *t)
{
uint8_t *program = t->bc;
void run_task(struct task *t)
{
uint8_t *program = t->bc;
- int plen = t->t
len
;
+ int plen = t->t
asklength
;
int pc = 0;
int sp = 0;
char stack[STACKSIZE] = {0};
debug("Running task with length: %d", plen);
while(pc < plen){
int pc = 0;
int sp = 0;
char stack[STACKSIZE] = {0};
debug("Running task with length: %d", plen);
while(pc < plen){
-// debug("program: %d", program[pc]);
-// debug("stack: %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x",
-// stack[0], stack[1], stack[2], stack[3], stack[4],
-// stack[5], stack[6], stack[7], stack[8], stack[9]);
-
switch(program[pc++]){
case BCNOP: trace("nop");
break;
switch(program[pc++]){
case BCNOP: trace("nop");
break;
@@
-138,6
+133,7
@@
void run_task(struct task *t)
break;
case BCSERIALPARSEINT: trace("SerialParseInt()");
break;
break;
case BCSERIALPARSEINT: trace("SerialParseInt()");
break;
+#if HAVEAIO == 1
case BCANALOGREAD: trace("AnalogRead(%d)", program[pc]);
stack[sp++] = read_apin(program[pc++]);
break;
case BCANALOGREAD: trace("AnalogRead(%d)", program[pc]);
stack[sp++] = read_apin(program[pc++]);
break;
@@
-145,6
+141,8
@@
void run_task(struct task *t)
write_apin(program[pc++], stack[sp-1]);
sp--;
break;
write_apin(program[pc++], stack[sp-1]);
sp--;
break;
+#endif
+#if HAVEDIO == 1
case BCDIGITALREAD: trace("DigitalRead(%d)", program[pc]);
stack[sp++] = read_dpin(program[pc++]);
break;
case BCDIGITALREAD: trace("DigitalRead(%d)", program[pc]);
stack[sp++] = read_dpin(program[pc++]);
break;
@@
-152,6
+150,8
@@
void run_task(struct task *t)
write_dpin(program[pc++], stack[sp-1]);
sp--;
break;
write_dpin(program[pc++], stack[sp-1]);
sp--;
break;
+#endif
+#if HAVELED == 1
case BCLEDON: trace("LedOn(%d)", program[pc]);
led_on(stack[sp-1]);
sp--;
case BCLEDON: trace("LedOn(%d)", program[pc]);
led_on(stack[sp-1]);
sp--;
@@
-160,6
+160,7
@@
void run_task(struct task *t)
led_off(stack[sp-1]);
sp--;
break;
led_off(stack[sp-1]);
sp--;
break;
+#endif
default:
trace("unrecognized");
die("Unrecognized command: %d", program[pc-1]);
default:
trace("unrecognized");
die("Unrecognized command: %d", program[pc-1]);