Exemplo n.º 1
0
uint8_t I2C_GetRunnerMessage(char *buf, size_t bufSize) {
  if (I2C_RunnerQueue==NULL || bufSize<I2C_RUNNER_I2C_MSG_SIZE) {
    return ERR_FAILED;
  }
  if (FRTOS1_xQueueReceive(I2C_RunnerQueue, buf, 0)==pdPASS) { /* non blocking queue receive */
    return ERR_OK;
  }
  return ERR_RXEMPTY;
}
Exemplo n.º 2
0
unsigned char SQUEUE_ReceiveChar(void) {
	unsigned char ch;
	portBASE_TYPE res;
	res = FRTOS1_xQueueReceive(SQUEUE_Queue, &ch, 0);

	if(res == errQUEUE_EMPTY){
		return '\0';
	} else {
		return ch;
	}
}
Exemplo n.º 3
0
unsigned char QUEUE_ReceiveChar(xQueueHandle queue) {
  unsigned char ch;
  portBASE_TYPE res;

  res = FRTOS1_xQueueReceive(queue, &ch, 0);
  if (res==errQUEUE_EMPTY) {
    return '\0';
  } else {
    return ch;
  }
}
Exemplo n.º 4
0
const unsigned char *SQUEUE_ReceiveMessage(void) {
  const unsigned char *ptr;
  portBASE_TYPE res;

  res = FRTOS1_xQueueReceive(SQUEUE_Queue, &ptr, 0);
  if (res==errQUEUE_EMPTY) {
    return NULL;
  } else {
    return ptr;
  }
}
Exemplo n.º 5
0
/*! \brief Radio application state machine */
void RADIO_Handle(void) {
  //uint8_t buf[RADIO_QUEUE_ITEM_SIZE];

  if (RADIO_isOn) {
    RADIO_HandleState(); /* advance state machine */
  }
#if 0  
  /* poll radio message queue */
  if (FRTOS1_xQueueReceive(RADIO_MsgQueue, buf, 0)==pdPASS) {
    /* received message from queue */
    RADIO_HandleMessage(buf);
  }
#endif
}
Exemplo n.º 6
0
Arquivo: Drive.c Projeto: sisem/intro
static uint8_t GetCmd(void) {
  DRV_Command cmd;
  portBASE_TYPE res;

  res = FRTOS1_xQueueReceive(DRV_Queue, &cmd, 0);
  if (res==errQUEUE_EMPTY) {
    return ERR_RXEMPTY; /* no command */
  }
  /* process command */
  FRTOS1_taskENTER_CRITICAL();
  if (cmd.cmd==DRV_SET_MODE) {
    PID_Start(); /* reset PID, especially integral counters */
    DRV_Status.mode = cmd.u.mode;
  } else if (cmd.cmd==DRV_SET_SPEED) {
    DRV_Status.speed.left = cmd.u.speed.left;
    DRV_Status.speed.right = cmd.u.speed.right;
  } else if (cmd.cmd==DRV_SET_POS) {
    DRV_Status.pos.left = cmd.u.pos.left;
    DRV_Status.pos.right = cmd.u.pos.right;
  }
  FRTOS1_taskEXIT_CRITICAL();
  return ERR_OK;
}