int Chirp::setLink(Link *link) { m_link = link; m_errorCorrected = m_link->getFlags()&LINK_FLAG_ERROR_CORRECTED; m_sharedMem = m_link->getFlags()&LINK_FLAG_SHARED_MEM; m_blkSize = m_link->blockSize(); if (m_errorCorrected) m_headerLen = 12; // startcode (uint32_t), type (uint8_t), (pad), proc (uint16_t), len (uint32_t) else m_headerLen = 8; // type (uint8_t), (pad), proc (uint16_t), len (uint32_t) if (m_sharedMem) { m_buf = (uint8_t *)m_link->getFlags(LINK_FLAG_INDEX_SHARED_MEMORY_LOCATION); m_bufSize = m_link->getFlags(LINK_FLAG_INDEX_SHARED_MEMORY_SIZE); } else { m_bufSize = CRP_BUFSIZE; m_buf = new (std::nothrow) uint8_t[m_bufSize]; } // link is set up, need to call init if (m_client) return remoteInit(true); return CRP_RES_OK; }
void mainInit() { // not used pins as inputs with pull-ups DDRB &= ~(1 << PB4); PORTB |= (1 << PB4); DDRB &= ~(1 << PB5); PORTB |= (1 << PB5); s_timerCounter = 0; s_started = 0; s_buttonPressed = 0; s_buttonLock = 0; s_speed = 40; s_straightMode = CONTROLLER_LEFT_AND_RIGHT; sei(); motorsInit(); wheelsInit(); controllerInitWithTimer(&mainTimerTick); remoteInit(); sensorsInit(); ledInit(); buttonInit(); }
Chirp::~Chirp() { // if we're a client, disconnect (let server know) if (m_client) remoteInit(false); if (!m_sharedMem) { restoreBuffer(); delete[] m_buf; } delete[] m_procTable; }
Chirp::~Chirp() { log("pixydebug: Chirp::~Chirp()\n"); // if we're a client, disconnect (let server know) if (m_client) remoteInit(false); if (!m_sharedMem) { restoreBuffer(); delete[] m_buf; } delete[] m_procTable; log("pixydebug: Chirp::~Chirp() returned\n"); }
static portTASK_FUNCTION(T1, pvParameters) { #if PL_HAS_ACCEL ACCEL_LowLevelInit(); #endif #if PL_HAS_REMOTE remoteInit(); #endif #if PL_HAS_ANALOG_JOY AD1_Calibrate(TRUE); CalibXY(); #endif #if PL_HAS_FIGHT FIGHT_Init(); #endif #if REMOTE_WITHOUT_REFLECTANCE FRTOS1_vTaskSuspend(checkRefl); #endif for(;;) { EVNT_SetEvent(EVNT_LED_HEARTBEAT); FRTOS1_vTaskDelay(1000/TRG_TICKS_MS); } }