[superbit] Added storing of num channels and protocol binding parameters.

This commit is contained in:
Piotr Esden-Tempski
2014-08-17 03:34:33 +02:00
parent 5e69417c36
commit 6a1c39eea9
3 changed files with 11 additions and 5 deletions
+3 -1
View File
@@ -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>
+7 -4
View File
@@ -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(); }