Radio table in rust

This commit is contained in:
Greg Shuflin 2021-03-01 02:54:19 -08:00
parent ea9ff0a534
commit 7793870f59
2 changed files with 33 additions and 11 deletions

View File

@ -21,20 +21,20 @@ fn main() {
.whitelist_type("radio_device_t") .whitelist_type("radio_device_t")
.whitelist_var("radio_md380") .whitelist_var("radio_md380")
.whitelist_var("radio_md390") .whitelist_var("radio_md390")
.whitelist_var("radio_md201")
.whitelist_var("radio_uv380") .whitelist_var("radio_uv380")
.whitelist_var("radio_uv390") .whitelist_var("radio_uv390")
.whitelist_var("radio_md960") .whitelist_var("radio_md2017")
.whitelist_var("radio_d900;") .whitelist_var("radio_md9600")
.whitelist_var("radio_dp8") .whitelist_var("radio_rd5r")
.whitelist_var("radio_rt27d") .whitelist_var("radio_dm1801")
.whitelist_var("radio_rd5")
.whitelist_var("radio_gd77;")
.whitelist_var("radio_dm180")
.whitelist_var("radio_d868u")
.whitelist_var("radio_d878u")
.whitelist_var("radio_dmr6x")
.whitelist_var("radio_rt84") .whitelist_var("radio_rt84")
.whitelist_var("radio_gd77")
.whitelist_var("radio_d868uv")
.whitelist_var("radio_d878uv")
.whitelist_var("radio_dmr6x2")
.whitelist_var("radio_d900")
.whitelist_var("radio_dp880")
.whitelist_var("radio_rt27d")
.blacklist_type("FILE") .blacklist_type("FILE")
// Finish the builder and generate the bindings. // Finish the builder and generate the bindings.
.generate() .generate()

View File

@ -16,6 +16,28 @@ pub struct radio_tab_t {
device: *mut radio_device_t, device: *mut radio_device_t,
} }
static mut RADIO_TABLE: [(&'static str, &'static radio_device_t); 16] = unsafe {
[
("DR780", &radio_md380), // TYT MD-380, Retevis RT3, RT8
("MD390", &radio_md390), // TYT MD-390
("MD-UV380", &radio_uv380), // TYT MD-UV380
("MD-UV390", &radio_uv390), // TYT MD-UV390, Retevis RT3S
("2017", &radio_md2017), // TYT MD-2017, Retevis RT82
("MD9600", &radio_md9600), // TYT MD-9600
("BF-5R", &radio_rd5r), // Baofeng RD-5R, TD-5R
("1801", &radio_dm1801), // Baofeng DM-1801
("DM-1701", &radio_rt84), // Baofeng DM-1701, Retevis RT84
("MD-760P", &radio_gd77), // Radioddity GD-77, version 3.1.1 and later
("D868UVE", &radio_d868uv), // Anytone AT-D868UV
("D878UV", &radio_d878uv), // Anytone AT-D878UV
("D6X2UV", &radio_dmr6x2), // BTECH DMR-6x2
("ZD3688", &radio_d900), // Zastone D900
("TP660", &radio_dp880), // Zastone DP880
("ZN><:", &radio_rt27d), // Radtel RT-27D
]
};
extern { extern {
fn set_active_device(device: *const radio_device_t); fn set_active_device(device: *const radio_device_t);