@@ -228,18 +228,23 @@ static void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *packe
228228 const uint8_t * rp = hci_event_command_complete_get_return_parameters (packet );
229229 switch (hci_event_command_complete_get_command_opcode (packet )) {
230230 case HCI_OPCODE_HCI_READ_LOCAL_VERSION_INFORMATION : {
231- uint16_t lmp_pal_subversion = pbio_get_uint16_le (& rp [7 ]);
232- pbdrv_bluetooth_btstack_set_chipset (lmp_pal_subversion );
231+ pbdrv_bluetooth_btstack_device_discriminator_t info ;
232+ info .hci_version = rp [1 ];
233+ info .hci_revision = pbio_get_uint16_le (& rp [2 ]);
234+ info .lmp_pal_version = rp [4 ];
235+ info .manufacturer = pbio_get_uint16_le (& rp [5 ]);
236+ info .lmp_pal_subversion = pbio_get_uint16_le (& rp [7 ]);
237+ pbdrv_bluetooth_btstack_set_chipset (& info );
233238
234239 #if DEBUG
235240 // Show version in ev3dev format.
236- uint16_t chip = (lmp_pal_subversion & 0x7C00 ) >> 10 ;
237- uint16_t min_ver = (lmp_pal_subversion & 0x007F );
238- uint16_t maj_ver = (lmp_pal_subversion & 0x0380 ) >> 7 ;
239- if (lmp_pal_subversion & 0x8000 ) {
241+ uint16_t chip = (info . lmp_pal_subversion & 0x7C00 ) >> 10 ;
242+ uint16_t min_ver = (info . lmp_pal_subversion & 0x007F );
243+ uint16_t maj_ver = (info . lmp_pal_subversion & 0x0380 ) >> 7 ;
244+ if (info . lmp_pal_subversion & 0x8000 ) {
240245 maj_ver |= 0x0008 ;
241246 }
242- DEBUG_PRINT ("LMP %04x: TIInit_%d.%d.%d.bts\n" , lmp_pal_subversion , chip , maj_ver , min_ver );
247+ DEBUG_PRINT ("LMP %04x: TIInit_%d.%d.%d.bts\n" , info . lmp_pal_subversion , chip , maj_ver , min_ver );
243248 #endif
244249 break ;
245250 }
0 commit comments