-   Notifications  You must be signed in to change notification settings 
- Fork 83
Feature request: multi-valset #20
Description
From other issue:
Hi Nathan ( @nseidle ),
 Sincere thanks for sharing this library! I'm using it to talk to the ZED-F9P.
 Can I please raise a "feature request"?
 setVal() is great - but can only set one value at a time. Could you add an elegant way to set multiple keys in a single packet?
 My inelegant way is to define them as a ubxPacket and send them using .sendI2cCommand :
// setRAWXon: this is the message which enables all of the messages to be logged to SD card in one go
 // It also sets the NMEA high precision mode for the GNGGA message
 // It also sets the main talker ID to 'GN'
 // UBX-CFG-VALSET message with key IDs of:
 // 0x209102a5 (CFG-MSGOUT-UBX_RXM_RAWX_UART1)
 // 0x20910232 (CFG-MSGOUT-UBX_RXM_SFRBX_UART1)
 // 0x20910179 (CFG-MSGOUT-UBX_TIM_TM2_UART1)
 // 0x2091002a (CFG-MSGOUT-UBX_NAV_POSLLH_UART1)
 // 0x20910007 (CFG-MSGOUT-UBX_NAV_PVT_UART1)
 // 0x2091001b (CFG-MSGOUT-UBX_NAV_STATUS_UART1)
 // 0x10930006 (CFG-NMEA-HIGHPREC)
 // 0x209100bb (CFG-MSGOUT-NMEA_ID_GGA_UART1)
 // and values (rates) of 1
 // 0x20930031 (CFG-NMEA-MAINTALKERID) has value 3 (GN)
 static uint8_t setRAWXon_payload[] = {
 0x00, 0x01, 0x00, 0x00,
 0xa5, 0x02, 0x91, 0x20, 0x01,
 0x32, 0x02, 0x91, 0x20, 0x01,
 0x79, 0x01, 0x91, 0x20, 0x01,
 0x2a, 0x00, 0x91, 0x20, 0x00, // Change the last byte from 0x01 to 0x00 to leave NAV_POSLLH disabled
 0x07, 0x00, 0x91, 0x20, 0x01, // Change the last byte from 0x01 to 0x00 to leave NAV_PVT disabled
 0x1b, 0x00, 0x91, 0x20, 0x01, // This line enables the NAV_STATUS message
 0x31, 0x00, 0x93, 0x20, 0x03, // This line sets the main talker ID to GN
 0x06, 0x00, 0x93, 0x10, 0x01, // This sets the NMEA high precision mode
 0xbb, 0x00, 0x91, 0x20, 0x01 }; // This (re)enables the GGA mesage
 ubxPacket setRAWXon = { 0x06, 0x8a, 49, 0, 0, setRAWXon_payload, 0, 0, false };
Sincere thanks,
 Paul