mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-05 23:49:00 +08:00
[superbit] Added storing of num channels and protocol binding parameters.
This commit is contained in:
@@ -3,8 +3,10 @@
|
||||
<settings>
|
||||
<dl_settings>
|
||||
<dl_settings NAME="Superbit">
|
||||
<dl_setting var="superbitrf.bind_mfg_id32" type="uint32" min="0" step="1" max="4294967295" shortname ="mfg_id" persistent="true" module="subsystems/datalink/superbitrf" handler="set_mfg_id"/>
|
||||
<dl_setting var="settings_store_flag" min="0" step="1" max="1" shortname="store" handler="StoreSettings" module="subsystems/settings"/>
|
||||
<dl_setting var="superbitrf.bind_mfg_id32" type="uint32" min="0" step="1" max="4294967295" shortname ="mfg_id" persistent="true" module="subsystems/datalink/superbitrf" handler="set_mfg_id"/>
|
||||
<dl_setting var="superbitrf.num_channels" min="0" step="1" max="14" shortname ="#chan" persistent="true" module="subsystems/datalink/superbitrf"/>
|
||||
<dl_setting var="superbitrf.protocol" min="0" step="1" max="32" shortname ="prot" persistent="true" module="subsystems/datalink/superbitrf" handler="set_protocol"/>
|
||||
</dl_settings>
|
||||
</dl_settings>
|
||||
</settings>
|
||||
|
||||
@@ -240,6 +240,11 @@ void superbitrf_set_mfg_id(uint32_t id) {
|
||||
superbitrf.data_col = 7 - superbitrf.sop_col;
|
||||
}
|
||||
|
||||
void superbitrf_set_protocol(uint8_t protocol) {
|
||||
superbitrf.protocol = protocol;
|
||||
superbitrf.resolution = (superbitrf.protocol & 0x10)>>4;
|
||||
}
|
||||
|
||||
/**
|
||||
* The superbitrf on event call
|
||||
*/
|
||||
@@ -405,8 +410,7 @@ void superbitrf_event(void) {
|
||||
#endif
|
||||
#ifdef RADIO_TRANSMITTER_PROTOCOL
|
||||
PRINT_CONFIG_VAR(RADIO_TRANSMITTER_PROTOCOL);
|
||||
superbitrf.protocol = RADIO_TRANSMITTER_PROTOCOL;
|
||||
superbitrf.resolution = (superbitrf.protocol & 0x10)>>4;
|
||||
superbitrf_set_protocol(RADIO_TRANSMITTER_PROTOCOL);
|
||||
#endif
|
||||
|
||||
// Start transfer
|
||||
@@ -724,8 +728,7 @@ static inline void superbitrf_receive_packet_cb(bool_t error, uint8_t status, ui
|
||||
superbitrf_set_mfg_id(mfg_id);
|
||||
|
||||
superbitrf.num_channels = packet[11];
|
||||
superbitrf.protocol = packet[12];
|
||||
superbitrf.resolution = (superbitrf.protocol & 0x10)>>4;
|
||||
superbitrf_set_protocol(packet[12]);
|
||||
|
||||
// Update the status of the receiver
|
||||
superbitrf.state = 0;
|
||||
|
||||
@@ -117,6 +117,7 @@ extern struct SuperbitRF superbitrf;
|
||||
void superbitrf_init(void);
|
||||
void superbitrf_event(void);
|
||||
void superbitrf_set_mfg_id(uint32_t id);
|
||||
void superbitrf_set_protocol(uint8_t protocol);
|
||||
|
||||
/* The datalink defines */
|
||||
#define SuperbitRFInit() { }//superbitrf_init(); }
|
||||
|
||||
Reference in New Issue
Block a user