diff --git a/firmware/inc/ubx_messages.h b/firmware/inc/ubx_messages.h index d97d7f6..dd942f1 100644 --- a/firmware/inc/ubx_messages.h +++ b/firmware/inc/ubx_messages.h @@ -139,33 +139,6 @@ __PACKED__ struct ubx_cfg_tp5 { uint32_t flags; } payload; }; -/** - * UBX CFG PM2 Extended Power Management Configuration - */ -__PACKED__ struct ubx_cfg_pm2 { - ubx_message_id_t id; - enum ubx_packet_state state; - struct { - uint8_t version; - uint8_t reserved1; - uint8_t reserved2; - uint8_t reserved3; - uint32_t flags; - uint32_t updatePeriod; - uint32_t searchPeriod; - uint32_t gridOffset; - uint16_t onTime; - uint16_t minAcqTime; - uint16_t reserved4; - uint16_t reserved5; - uint32_t reserved6; - uint32_t reserved7; - uint8_t reserved8; - uint8_t reserved9; - uint16_t reserved10; - uint32_t reserved11; - } payload; -}; /** * UBX CFG PRT Polls the configuration for one I/O Port */ @@ -184,17 +157,6 @@ __PACKED__ struct ubx_cfg_prt { uint16_t res3; } payload; }; -/** - * UBX CFG RXM Power Managerment - */ -__PACKED__ struct ubx_cfg_rxm { - ubx_message_id_t id; - enum ubx_packet_state state; - struct { - uint8_t reserved1; - uint8_t lpMode; - } payload; -}; /** * UBX Dynamic Platform Model @@ -220,30 +182,6 @@ enum { UBX_GNSS_QZSS = 5, UBX_GNSS_GLONASS = 6, }; -/** - * UBX PM2 Power Management Flags - */ -enum { - UBX_PM_EXTINT_EXTINT0 = (0 << 4), - UBX_PM_EXTINT_EXTINT1 = (1 << 4), - UBX_PM_EXTINT_WAKE = (1 << 5), - UBX_PM_EXTINT_BACKUP = (1 << 6), - UBX_PM_LIMIT_PEAK_CURRENT = (1 << 8), - UBX_PM_ONLY_WAIT_FOR_TIMEFIX = (1 << 10), - UBX_PM_WAKE_FOR_RTC = (1 << 11), - UBX_PM_WAKE_FOR_EPHERMERIS = (1 << 12), - UBX_PM_DO_NOT_ENTER_OFF = (1 << 16), - UBX_PM_MODE_ON_OFF = (0 << 17), - UBX_PM_MODE_CYCLIC = (1 << 17) -}; -/** - * UBX RXM Power Modes - */ -enum { - UBX_LPMODE_CONTINOUS = 0, - UBX_LPMODE_POWERSAVE = 1, - UBX_LPMODE_CONTINOUS2 = 4, -}; /** * ============================================================================= diff --git a/firmware/src/gps.c b/firmware/src/gps.c index 0027526..6f62760 100644 --- a/firmware/src/gps.c +++ b/firmware/src/gps.c @@ -72,9 +72,7 @@ volatile struct ubx_cfg_ant ubx_cfg_ant = { .id = (UBX_CFG | (0x13 << 8)) }; volatile struct ubx_cfg_gnss ubx_cfg_gnss = { .id = (UBX_CFG | (0x3E << 8)) }; volatile struct ubx_cfg_nav5 ubx_cfg_nav5 = { .id = (UBX_CFG | (0x24 << 8)) }; volatile struct ubx_cfg_tp5 ubx_cfg_tp5 = { .id = (UBX_CFG | (0x31 << 8)) }; -volatile struct ubx_cfg_pm2 ubx_cfg_pm2 = { .id = (UBX_CFG | (0x3B << 8)) }; volatile struct ubx_cfg_prt ubx_cfg_prt = { .id = (UBX_CFG | (0x00 << 8)) }; -volatile struct ubx_cfg_rxm ubx_cfg_rxm = { .id = (UBX_CFG | (0x11 << 8)) }; volatile struct ubx_nav_posllh ubx_nav_posllh = { .id = (UBX_NAV | (0x02 << 8)) }; volatile struct ubx_nav_timeutc ubx_nav_timeutc = { .id = (UBX_NAV | (0x21 << 8)) }; volatile struct ubx_nav_sol ubx_nav_sol = { .id = (UBX_NAV | (0x06 << 8)) }; @@ -87,9 +85,7 @@ volatile ubx_message_t* const ubx_messages[] = { (ubx_message_t*)&ubx_cfg_gnss, (ubx_message_t*)&ubx_cfg_nav5, (ubx_message_t*)&ubx_cfg_tp5, - (ubx_message_t*)&ubx_cfg_pm2, (ubx_message_t*)&ubx_cfg_prt, - (ubx_message_t*)&ubx_cfg_rxm, (ubx_message_t*)&ubx_nav_posllh, (ubx_message_t*)&ubx_nav_timeutc, (ubx_message_t*)&ubx_nav_sol, @@ -413,32 +409,7 @@ void gps_set_gnss(void) (uint8_t*)&ubx_cfg_gnss.payload, 4 + (8 * ubx_cfg_gnss.payload.numConfigBlocks)); } -/** - * Sets the power saving mode - */ -void gps_set_powermanagement(void) -{ - /* Read the current settings */ - _ubx_poll((ubx_message_t*)&ubx_cfg_pm2); - /* Update for cyclic powersave mode */ - ubx_cfg_pm2.payload.flags = UBX_PM_MODE_CYCLIC | UBX_PM_DO_NOT_ENTER_OFF; - ubx_cfg_pm2.payload.onTime = 30; /* 30 seconds of on time after aquisition */ - ubx_cfg_pm2.payload.updatePeriod = 2*1000; /* Calcuate fixes every 2 seconds */ - - /* Enable powersave mode */ - ubx_cfg_rxm.payload.reserved1 = 8; - ubx_cfg_rxm.payload.lpMode = UBX_LPMODE_POWERSAVE; - - /* Write the new settings */ - _ubx_send_message((ubx_message_t*)&ubx_cfg_pm2, - (uint8_t*)&ubx_cfg_pm2.payload, - sizeof(ubx_cfg_pm2.payload)); - _ubx_send_message((ubx_message_t*)&ubx_cfg_rxm, - (uint8_t*)&ubx_cfg_rxm.payload, - sizeof(ubx_cfg_rxm.payload)); - -} /** * Init */ @@ -486,9 +457,6 @@ void gps_init(void) /* Set which GNSS constellation we'd like to use */ gps_set_gnss(); - /* Set the power management settings */ - gps_set_powermanagement(); - /* Set the timepulse */ gps_set_timepulse_five(GPS_TIMEPULSE_FREQ); }