コード例 #1
0
ファイル: log.c プロジェクト: jannson/crazypony
static int logStartBlock(int id, unsigned int period)
{
  int i;
  
  for (i=0; i<LOG_MAX_BLOCKS; i++)
    if (logBlocks[i].id == id) break;
  
  if (i >= LOG_MAX_BLOCKS) {
    ERROR("Trying to start block id %d that doesn't exist.", id);
    return ENOENT;
  }
  
  DEBUG("Starting block %d with period %dms\n", id, period);
  
  if (period>0)
  {
    xTimerChangePeriod(logBlocks[i].timer, M2T(period), 100);
    xTimerStart(logBlocks[i].timer, 100);
  } else {
    // single-shoot run
    workerSchedule(logRunBlock, &logBlocks[i]);
  }
  
  return 0;
}
コード例 #2
0
ファイル: log.c プロジェクト: jannson/crazypony
/* This function is called by the timer subsystem */
void logBlockTimed(xTimerHandle timer)
{
  workerSchedule(logRunBlock, pvTimerGetTimerID(timer));
}
コード例 #3
0
ファイル: log.c プロジェクト: nongxiaoming/MiniQuadcopter
/* This function is called by the timer subsystem */
void logBlockTimed(void* parameter)
{
	workerSchedule(logRunBlock, parameter);
}