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