Ejemplo n.º 1
0
static bool handleCreateTask(int size, const byte *msg, CONTEXT *context)
    {
    byte *expr = (byte *) &msg[1];
    byte id = evalWord8Expr(&expr, context);
    unsigned int taskSize = evalWord16Expr(&expr, context);
    unsigned int bindSize = evalWord16Expr(&expr, context);

    return createById(id, taskSize, bindSize);
    }
Ejemplo n.º 2
0
static bool handle2Pin(int size, const byte *msg, CONTEXT *context)
    {
    Stepper *newStepper;
    byte bind = msg[1];
    byte *expr = (byte *) &msg[2];
    uint16_t steps = evalWord16Expr(&expr, context);
    byte pin1No = evalWord8Expr(&expr, context);
    byte pin2No = evalWord8Expr(&expr, context);
    byte stepperReply[3];

    newStepper = new Stepper(steps, pin1No, pin2No);
    stepperReply[0] = EXPR_WORD8;
    stepperReply[1] = EXPR_LIT;
    stepperReply[2] = nextStepper;

    steppers[nextStepper++] = newStepper;
    sendReply(sizeof(stepperReply), STEP_RESP_2PIN, 
              stepperReply, context, bind);
    return false;
    }
Ejemplo n.º 3
0
void storeWord16Ref(byte *expr, CONTEXT *context, byte refIndex)
    {
    uint16_t w16Val = evalWord16Expr(&expr, context);

    *((uint16_t *) haskinoRefs[refIndex].ref) = w16Val;
    }