/** * @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 }
/** * @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 }
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; } }