Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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();
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
0
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");
}
Exemplo n.º 5
0
Arquivo: RTOS.c Projeto: chregubr85/42
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);
  }
}