Mercurial > public > ostc4
comparison Small_CPU/Src/scheduler.c @ 969:81049905d829 Evo_2_23
Zusammenf?hren
author | heinrichsweikamp |
---|---|
date | Sun, 19 Jan 2025 12:02:59 +0100 (2 months ago) |
parents | 9b29995d6619 |
children |
comparison
equal
deleted
inserted
replaced
968:b9a1710522b1 | 969:81049905d829 |
---|---|
340 externalInface_SetSensorMap(global.dataSendToSlave.data.externalInterface_SensorMap); | 340 externalInface_SetSensorMap(global.dataSendToSlave.data.externalInterface_SensorMap); |
341 if(global.dataSendToSlave.data.externalInterface_Cmd & 0x00FF) /* lowest nibble for commands */ | 341 if(global.dataSendToSlave.data.externalInterface_Cmd & 0x00FF) /* lowest nibble for commands */ |
342 { | 342 { |
343 externalInterface_ExecuteCmd(global.dataSendToSlave.data.externalInterface_Cmd); | 343 externalInterface_ExecuteCmd(global.dataSendToSlave.data.externalInterface_Cmd); |
344 } | 344 } |
345 #ifdef ENABLE_GPIO_V2 | |
346 GPIO_HandleBuzzer(); | |
347 #endif | |
345 | 348 |
346 | 349 |
347 #if 0 | 350 #if 0 |
348 //TODO: Temporary placed here. Duration ~210 ms. | 351 //TODO: Temporary placed here. Duration ~210 ms. |
349 if (global.I2C_SystemStatus != HAL_OK) { | 352 if (global.I2C_SystemStatus != HAL_OK) { |
1789 global.dataSendToMaster.boolADCO2Data |= boolCO2Buffer; | 1792 global.dataSendToMaster.boolADCO2Data |= boolCO2Buffer; |
1790 } | 1793 } |
1791 | 1794 |
1792 void copyGNSSdata(void) | 1795 void copyGNSSdata(void) |
1793 { | 1796 { |
1797 RTC_TimeTypeDef sTimeNow; | |
1798 | |
1794 global.dataSendToMaster.data[0].gnssInfo.coord.fLat = GNSS_Handle.fLat; | 1799 global.dataSendToMaster.data[0].gnssInfo.coord.fLat = GNSS_Handle.fLat; |
1795 global.dataSendToMaster.data[0].gnssInfo.coord.fLon = GNSS_Handle.fLon; | 1800 global.dataSendToMaster.data[0].gnssInfo.coord.fLon = GNSS_Handle.fLon; |
1796 global.dataSendToMaster.data[0].gnssInfo.fixType = GNSS_Handle.fixType; | 1801 global.dataSendToMaster.data[0].gnssInfo.fixType = GNSS_Handle.fixType; |
1797 global.dataSendToMaster.data[0].gnssInfo.numSat = GNSS_Handle.numSat; | 1802 global.dataSendToMaster.data[0].gnssInfo.numSat = GNSS_Handle.numSat; |
1798 global.dataSendToMaster.data[0].gnssInfo.DateTime.year = (uint8_t) (GNSS_Handle.year - 2000); | 1803 global.dataSendToMaster.data[0].gnssInfo.DateTime.year = (uint8_t) (GNSS_Handle.year - 2000); |
1802 global.dataSendToMaster.data[0].gnssInfo.DateTime.min = GNSS_Handle.min; | 1807 global.dataSendToMaster.data[0].gnssInfo.DateTime.min = GNSS_Handle.min; |
1803 global.dataSendToMaster.data[0].gnssInfo.DateTime.sec = GNSS_Handle.sec; | 1808 global.dataSendToMaster.data[0].gnssInfo.DateTime.sec = GNSS_Handle.sec; |
1804 | 1809 |
1805 global.dataSendToMaster.data[0].gnssInfo.alive = GNSS_Handle.alive; | 1810 global.dataSendToMaster.data[0].gnssInfo.alive = GNSS_Handle.alive; |
1806 | 1811 |
1812 if(( GNSS_Handle.fixType < 2) && (GNSS_Handle.alive & GNSS_ALIVE_BACKUP_POS)) /* fallback to last known position ? */ | |
1813 { | |
1814 RTC_GetTime(&sTimeNow); | |
1815 if(GNSS_Handle.last_hour > sTimeNow.Hours) | |
1816 { | |
1817 sTimeNow.Hours += 24; /* compensate date change */ | |
1818 } | |
1819 if(sTimeNow.Hours - GNSS_Handle.last_hour > 2) | |
1820 { | |
1821 GNSS_Handle.alive &= ~GNSS_ALIVE_BACKUP_POS; /* position outdated */ | |
1822 } | |
1823 else | |
1824 { | |
1825 global.dataSendToMaster.data[0].gnssInfo.coord.fLat = GNSS_Handle.last_fLat; | |
1826 global.dataSendToMaster.data[0].gnssInfo.coord.fLon = GNSS_Handle.last_fLon; | |
1827 } | |
1828 } | |
1807 memcpy(&global.dataSendToMaster.data[0].gnssInfo.signalQual,&GNSS_Handle.statSat, sizeof(GNSS_Handle.statSat)); | 1829 memcpy(&global.dataSendToMaster.data[0].gnssInfo.signalQual,&GNSS_Handle.statSat, sizeof(GNSS_Handle.statSat)); |
1808 } | 1830 } |
1809 | 1831 |
1810 | 1832 |
1811 typedef enum | 1833 typedef enum |