Ejemplo n.º 1
0
/**
 * @brief   HAL initialization.
 * @details This function invokes the low level initialization code then
 *          initializes all the drivers enabled in the HAL. Finally the
 *          board-specific initialization is performed by invoking
 *          @p boardInit() (usually defined in @p board.c).
 *
 * @init
 */
void halInit(void) {

  hal_lld_init();

#if HAL_USE_TM || defined(__DOXYGEN__)
  tmInit();
#endif
#if HAL_USE_PAL || defined(__DOXYGEN__)
  palInit(&pal_default_config);
#endif
#if HAL_USE_ADC || defined(__DOXYGEN__)
  adcInit();
#endif
#if HAL_USE_CAN || defined(__DOXYGEN__)
  canInit();
#endif
#if HAL_USE_EXT || defined(__DOXYGEN__)
  extInit();
#endif
#if HAL_USE_GPT || defined(__DOXYGEN__)
  gptInit();
#endif
#if HAL_USE_I2C || defined(__DOXYGEN__)
  i2cInit();
#endif
#if HAL_USE_ICU || defined(__DOXYGEN__)
  icuInit();
#endif
#if HAL_USE_MAC || defined(__DOXYGEN__)
  macInit();
#endif
#if HAL_USE_PWM || defined(__DOXYGEN__)
  pwmInit();
#endif
#if HAL_USE_SERIAL || defined(__DOXYGEN__)
  sdInit();
#endif
#if HAL_USE_SDC || defined(__DOXYGEN__)
  //KL All in Kl_sdc sdcInit();
#endif
#if HAL_USE_SPI || defined(__DOXYGEN__)
  spiInit();
#endif
#if HAL_USE_UART || defined(__DOXYGEN__)
  uartInit();
#endif
#if HAL_USE_USB || defined(__DOXYGEN__)
  usbInit();
#endif
#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
  mmcInit();
#endif
#if HAL_USE_SERIAL_USB || defined(__DOXYGEN__)
  sduInit();
#endif
#if HAL_USE_RTC || defined(__DOXYGEN__)
  rtcInit();
#endif
}
Ejemplo n.º 2
0
/**
 * @brief   HAL initialization.
 * @details This function invokes the low level initialization code then
 *          initializes all the drivers enabled in the HAL. Finally the
 *          board-specific initialization is performed by invoking
 *          @p boardInit() (usually defined in @p board.c).
 *
 * @init
 */
void halInit(void) {

  /* Initializes the OS Abstraction Layer.*/
  osalInit();

  /* Platform low level initializations.*/
  hal_lld_init();

#if (HAL_USE_PAL == TRUE) || defined(__DOXYGEN__)
  palInit(&pal_default_config);
#endif
#if (HAL_USE_ADC == TRUE) || defined(__DOXYGEN__)
  adcInit();
#endif
#if (HAL_USE_CAN == TRUE) || defined(__DOXYGEN__)
  canInit();
#endif
#if (HAL_USE_DAC == TRUE) || defined(__DOXYGEN__)
  dacInit();
#endif
#if (HAL_USE_EXT == TRUE) || defined(__DOXYGEN__)
  extInit();
#endif
#if (HAL_USE_GPT == TRUE) || defined(__DOXYGEN__)
  gptInit();
#endif
#if (HAL_USE_I2C == TRUE) || defined(__DOXYGEN__)
  i2cInit();
#endif
#if (HAL_USE_I2S == TRUE) || defined(__DOXYGEN__)
  i2sInit();
#endif
#if (HAL_USE_ICU == TRUE) || defined(__DOXYGEN__)
  icuInit();
#endif
#if (HAL_USE_MAC == TRUE) || defined(__DOXYGEN__)
  macInit();
#endif
#if (HAL_USE_PWM == TRUE) || defined(__DOXYGEN__)
  pwmInit();
#endif
#if (HAL_USE_SERIAL == TRUE) || defined(__DOXYGEN__)
  sdInit();
#endif
#if (HAL_USE_SDC == TRUE) || defined(__DOXYGEN__)
  sdcInit();
#endif
#if (HAL_USE_SPI == TRUE) || defined(__DOXYGEN__)
  spiInit();
#endif
#if (HAL_USE_UART == TRUE) || defined(__DOXYGEN__)
  uartInit();
#endif
#if (HAL_USE_USB == TRUE) || defined(__DOXYGEN__)
  usbInit();
#endif
#if (HAL_USE_MMC_SPI == TRUE) || defined(__DOXYGEN__)
  mmcInit();
#endif
#if (HAL_USE_SERIAL_USB == TRUE) || defined(__DOXYGEN__)
  sduInit();
#endif
#if (HAL_USE_RTC == TRUE) || defined(__DOXYGEN__)
  rtcInit();
#endif
#if (HAL_USE_WDG == TRUE) || defined(__DOXYGEN__)
  wdgInit();
#endif

  /* Community driver overlay initialization.*/
#if defined(HAL_USE_COMMUNITY) || defined(__DOXYGEN__)
#if (HAL_USE_COMMUNITY == TRUE) || defined(__DOXYGEN__)
  halCommunityInit();
#endif
#endif

  /* Board specific initialization.*/
  boardInit();

/*
 *  The ST driver is a special case, it is only initialized if the OSAL is
 *  configured to require it.
 */
#if OSAL_ST_MODE != OSAL_ST_MODE_NONE
  stInit();
#endif
}
Ejemplo n.º 3
0
void InitOD(void)
{
    eeprom_init_hw();

    // Check Settings
    uint8_t     Len = 1;
    uint8_t     ucTmp = 0;
    uint16_t    uiTmp;

    ReadOD(objNodeName, MQTTSN_FL_TOPICID_PREDEF, &Len, &ucTmp);
    if(ucTmp == 0xFF)                                                                       // Not Configured
    {
        // Load Default Settings
#ifdef RF_ADDR_t
#ifndef ADDR_DEFAULT_RF
#define ADDR_DEFAULT_RF ADDR_UNDEF_RF    // DHCP
#endif  //  ADDR_DEFAULT_RF
        RF_ADDR_t rfAddr = ADDR_DEFAULT_RF;
        WriteOD(objRFNodeId, MQTTSN_FL_TOPICID_PREDEF, sizeof(RF_ADDR_t), &rfAddr);         // Node address
        RF_ADDR_t rfGw = ADDR_UNDEF_RF;
        WriteOD(objRFGateId, MQTTSN_FL_TOPICID_PREDEF, sizeof(RF_ADDR_t), &rfGw);             // Gateway address
#ifdef OD_DEFAULT_GROUP
        uiTmp = OD_DEFAULT_GROUP;
        WriteOD(objRFGroup, MQTTSN_FL_TOPICID_PREDEF, sizeof(uiTmp), (uint8_t *)&uiTmp);    // Group Id
#endif  //  OD_DEFAULT_GROUP
#ifdef OD_DEFAULT_CHANNEL
        ucTmp = OD_DEFAULT_CHANNEL;
        WriteOD(objRFChannel, MQTTSN_FL_TOPICID_PREDEF, sizeof(ucTmp), &ucTmp);             // Channel
#endif  //  OD_DEFAULT_CHANNEL
#endif  //  RF_ADDR_t
#ifdef LAN_NODE
#ifndef OD_DEF_IP_ADDR
#define OD_DEF_IP_ADDR      0xFFFFFFFF      // Default IP - use DHCP
#endif  //  OD_DEF_IP_ADDR
#ifndef OD_DEF_IP_MASK
#define OD_DEF_IP_MASK      0xFFFFFFFF      // Default IP Mask - use DHCP
#endif  //  OD_DEF_IP_MASK
#ifndef OD_DEF_IP_ROUTER
#define OD_DEF_IP_ROUTER    0xFFFFFFFF      // Default IP Gateway - use DHCP
#endif  //  OD_DEF_IP_ROUTER
#ifndef OD_DEF_IP_BROKER
#define OD_DEF_IP_BROKER    0xFFFFFFFF      // Default IP Broker - auto resolve
#endif  //  OD_DEF_IP_BROKER
        uint32_t  ulTmp;
        ulTmp = OD_DEF_IP_BROKER;
        WriteOD(objIPBroker, MQTTSN_FL_TOPICID_PREDEF, 4, (uint8_t *)&ulTmp);
        ulTmp = OD_DEF_IP_ROUTER;
        WriteOD(objIPRouter, MQTTSN_FL_TOPICID_PREDEF, 4, (uint8_t *)&ulTmp);
        ulTmp = OD_DEF_IP_MASK;
        WriteOD(objIPMask,   MQTTSN_FL_TOPICID_PREDEF, 4, (uint8_t *)&ulTmp);
        ulTmp = OD_DEF_IP_ADDR;
        WriteOD(objIPAddr,   MQTTSN_FL_TOPICID_PREDEF, 4, (uint8_t *)&ulTmp);
        uint8_t   defMAC[] = OD_DEV_MAC;
        WriteOD(objMACAddr, MQTTSN_FL_TOPICID_PREDEF, 6, (uint8_t *)&defMAC);       // Default MAC
#endif  //  LAN_NODE
#ifdef EXTAIN_USED
        uiTmp = 80;
        WriteOD(objADCaverage, MQTTSN_FL_TOPICID_PREDEF, sizeof(uiTmp), (uint8_t *)&uiTmp);   // ADC conversion delay
#endif  //  EXTAIN_USED
#ifdef ASLEEP
        uiTmp = OD_DEFAULT_TASLEEP;
        WriteOD(objTAsleep, MQTTSN_FL_TOPICID_PREDEF, sizeof(uiTmp), (uint8_t *)&uiTmp);    // Sleep Time
#endif  //  ASLEEP
        ucTmp = 0;
        WriteOD(objNodeName, MQTTSN_FL_TOPICID_PREDEF, 0, &ucTmp);                          // Device Name
    }

    // Clear listOD
    for(uiTmp = 0; uiTmp < OD_MAX_INDEX_LIST; uiTmp++)
        ListOD[uiTmp].Index = 0xFFFF;

    // Clear Poll Variables
    idxUpdate = 0x0000;

    extInit();

    // Load Saved Variables
    uint16_t pos = 0;
    for(uiTmp = 0; uiTmp < OD_MAX_INDEX_LIST; uiTmp++)
    {
        // Skip PNP objects
        while(ListOD[pos].Index != 0xFFFF)
        {
            pos++;
            if(pos == OD_MAX_INDEX_LIST)
                return;
        }

        RestoreSubindex(uiTmp, &ListOD[pos].sidx);

        if((ListOD[pos].sidx.Place == 0xFF) || (ListOD[pos].sidx.Place == 0x00) ||
           (extRegisterOD(&ListOD[pos]) != MQTTSN_RET_ACCEPTED))
            continue;

        ListOD[pos++].Index = 0x0000;
    }
}