mirror of
				https://github.com/liberatedsystems/Sideband_CE.git
				synced 2024-09-03 04:13:27 +02:00 
			
		
		
		
	Added RNode airtime controls
This commit is contained in:
		
							parent
							
								
									306228fb3f
								
							
						
					
					
						commit
						579c30e558
					
				@ -10,7 +10,7 @@ source.exclude_patterns = app_storage/*,venv/*,Makefile,./Makefil*,requirements,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
version.regex = __version__ = ['"](.*)['"]
 | 
					version.regex = __version__ = ['"](.*)['"]
 | 
				
			||||||
version.filename = %(source.dir)s/main.py
 | 
					version.filename = %(source.dir)s/main.py
 | 
				
			||||||
android.numeric_version = 20230815
 | 
					android.numeric_version = 20230912
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Cryptography recipe is currently broken, using RNS-internal crypto for now
 | 
					# Cryptography recipe is currently broken, using RNS-internal crypto for now
 | 
				
			||||||
requirements = kivy==2.2.1,libbz2,pillow,qrcode==7.3.1,usb4a,usbserial4a
 | 
					requirements = kivy==2.2.1,libbz2,pillow,qrcode==7.3.1,usb4a,usbserial4a
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
__debug_build__ = False
 | 
					__debug_build__ = False
 | 
				
			||||||
__disable_shaders__ = False
 | 
					__disable_shaders__ = False
 | 
				
			||||||
__version__ = "0.5.4"
 | 
					__version__ = "0.5.5"
 | 
				
			||||||
__variant__ = "beta"
 | 
					__variant__ = "beta"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
@ -1745,11 +1745,40 @@ class SidebandApp(MDApp):
 | 
				
			|||||||
        self.sideband.setstate("app.displaying", self.root.ids.screen_manager.current)
 | 
					        self.sideband.setstate("app.displaying", self.root.ids.screen_manager.current)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def hardware_rnode_save(self):
 | 
					    def hardware_rnode_save(self):
 | 
				
			||||||
        self.sideband.config["hw_rnode_frequency"] = int(float(self.root.ids.hardware_rnode_frequency.text)*1000000)
 | 
					        try:
 | 
				
			||||||
        self.sideband.config["hw_rnode_bandwidth"] = int(float(self.root.ids.hardware_rnode_bandwidth.text)*1000)
 | 
					            self.sideband.config["hw_rnode_frequency"] = int(float(self.root.ids.hardware_rnode_frequency.text)*1000000)
 | 
				
			||||||
        self.sideband.config["hw_rnode_tx_power"] = int(self.root.ids.hardware_rnode_txpower.text)
 | 
					        except:
 | 
				
			||||||
        self.sideband.config["hw_rnode_spreading_factor"] = int(self.root.ids.hardware_rnode_spreadingfactor.text)
 | 
					            pass
 | 
				
			||||||
        self.sideband.config["hw_rnode_coding_rate"] = int(self.root.ids.hardware_rnode_codingrate.text)
 | 
					
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            self.sideband.config["hw_rnode_bandwidth"] = int(float(self.root.ids.hardware_rnode_bandwidth.text)*1000)
 | 
				
			||||||
 | 
					        except:
 | 
				
			||||||
 | 
					            pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            self.sideband.config["hw_rnode_tx_power"] = int(self.root.ids.hardware_rnode_txpower.text)
 | 
				
			||||||
 | 
					        except:
 | 
				
			||||||
 | 
					            pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            self.sideband.config["hw_rnode_spreading_factor"] = int(self.root.ids.hardware_rnode_spreadingfactor.text)
 | 
				
			||||||
 | 
					        except:
 | 
				
			||||||
 | 
					            pass
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            self.sideband.config["hw_rnode_coding_rate"] = int(self.root.ids.hardware_rnode_codingrate.text)
 | 
				
			||||||
 | 
					        except:
 | 
				
			||||||
 | 
					            pass
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            self.sideband.config["hw_rnode_atl_short"] = float(self.root.ids.hardware_rnode_atl_short.text)
 | 
				
			||||||
 | 
					        except:
 | 
				
			||||||
 | 
					            self.sideband.config["hw_rnode_atl_short"] = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        try:
 | 
				
			||||||
 | 
					            self.sideband.config["hw_rnode_atl_long"] = float(self.root.ids.hardware_rnode_atl_long.text)
 | 
				
			||||||
 | 
					        except:
 | 
				
			||||||
 | 
					            self.sideband.config["hw_rnode_atl_long"] = None
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        if self.root.ids.hardware_rnode_beaconinterval.text == "":
 | 
					        if self.root.ids.hardware_rnode_beaconinterval.text == "":
 | 
				
			||||||
            self.sideband.config["hw_rnode_beaconinterval"] = None
 | 
					            self.sideband.config["hw_rnode_beaconinterval"] = None
 | 
				
			||||||
@ -1820,6 +1849,15 @@ class SidebandApp(MDApp):
 | 
				
			|||||||
        self.sideband.save_configuration()
 | 
					        self.sideband.save_configuration()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					    def hardware_rnode_framebuffer_toggle_action(self, sender=None, event=None):
 | 
				
			||||||
 | 
					        if sender.active:
 | 
				
			||||||
 | 
					            self.sideband.config["hw_rnode_enable_framebuffer"] = True
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            self.sideband.config["hw_rnode_enable_framebuffer"] = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        self.sideband.save_configuration()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    def hardware_rnode_init(self, sender=None):
 | 
					    def hardware_rnode_init(self, sender=None):
 | 
				
			||||||
        if not self.hardware_rnode_ready:
 | 
					        if not self.hardware_rnode_ready:
 | 
				
			||||||
            self.root.ids.hardware_rnode_scrollview.effect_cls = ScrollEffect
 | 
					            self.root.ids.hardware_rnode_scrollview.effect_cls = ScrollEffect
 | 
				
			||||||
@ -1864,8 +1902,17 @@ class SidebandApp(MDApp):
 | 
				
			|||||||
                t_btd = str(self.sideband.config["hw_rnode_bt_device"])
 | 
					                t_btd = str(self.sideband.config["hw_rnode_bt_device"])
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                t_btd = ""
 | 
					                t_btd = ""
 | 
				
			||||||
 | 
					            if self.sideband.config["hw_rnode_atl_short"] != None:
 | 
				
			||||||
 | 
					                t_ats = str(self.sideband.config["hw_rnode_atl_short"])
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                t_ats = ""
 | 
				
			||||||
 | 
					            if self.sideband.config["hw_rnode_atl_long"] != None:
 | 
				
			||||||
 | 
					                t_atl = str(self.sideband.config["hw_rnode_atl_long"])
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                t_atl = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            self.root.ids.hardware_rnode_bluetooth.active = self.sideband.config["hw_rnode_bluetooth"]
 | 
					            self.root.ids.hardware_rnode_bluetooth.active = self.sideband.config["hw_rnode_bluetooth"]
 | 
				
			||||||
 | 
					            self.root.ids.hardware_rnode_framebuffer.active = self.sideband.config["hw_rnode_enable_framebuffer"]
 | 
				
			||||||
            self.root.ids.hardware_rnode_frequency.text = t_freq
 | 
					            self.root.ids.hardware_rnode_frequency.text = t_freq
 | 
				
			||||||
            self.root.ids.hardware_rnode_bandwidth.text = t_bw
 | 
					            self.root.ids.hardware_rnode_bandwidth.text = t_bw
 | 
				
			||||||
            self.root.ids.hardware_rnode_txpower.text = t_p
 | 
					            self.root.ids.hardware_rnode_txpower.text = t_p
 | 
				
			||||||
@ -1874,6 +1921,8 @@ class SidebandApp(MDApp):
 | 
				
			|||||||
            self.root.ids.hardware_rnode_beaconinterval.text = t_bi
 | 
					            self.root.ids.hardware_rnode_beaconinterval.text = t_bi
 | 
				
			||||||
            self.root.ids.hardware_rnode_beacondata.text = t_bd
 | 
					            self.root.ids.hardware_rnode_beacondata.text = t_bd
 | 
				
			||||||
            self.root.ids.hardware_rnode_bt_device.text = t_btd
 | 
					            self.root.ids.hardware_rnode_bt_device.text = t_btd
 | 
				
			||||||
 | 
					            self.root.ids.hardware_rnode_atl_short.text = t_ats
 | 
				
			||||||
 | 
					            self.root.ids.hardware_rnode_atl_long.text = t_atl
 | 
				
			||||||
            self.root.ids.hardware_rnode_frequency.bind(focus=focus_save)
 | 
					            self.root.ids.hardware_rnode_frequency.bind(focus=focus_save)
 | 
				
			||||||
            self.root.ids.hardware_rnode_bandwidth.bind(focus=focus_save)
 | 
					            self.root.ids.hardware_rnode_bandwidth.bind(focus=focus_save)
 | 
				
			||||||
            self.root.ids.hardware_rnode_txpower.bind(focus=focus_save)
 | 
					            self.root.ids.hardware_rnode_txpower.bind(focus=focus_save)
 | 
				
			||||||
@ -1889,7 +1938,10 @@ class SidebandApp(MDApp):
 | 
				
			|||||||
            self.root.ids.hardware_rnode_codingrate.bind(on_text_validate=save_connectivity)
 | 
					            self.root.ids.hardware_rnode_codingrate.bind(on_text_validate=save_connectivity)
 | 
				
			||||||
            self.root.ids.hardware_rnode_beaconinterval.bind(on_text_validate=save_connectivity)
 | 
					            self.root.ids.hardware_rnode_beaconinterval.bind(on_text_validate=save_connectivity)
 | 
				
			||||||
            self.root.ids.hardware_rnode_beacondata.bind(on_text_validate=save_connectivity)
 | 
					            self.root.ids.hardware_rnode_beacondata.bind(on_text_validate=save_connectivity)
 | 
				
			||||||
 | 
					            self.root.ids.hardware_rnode_atl_short.bind(on_text_validate=save_connectivity)
 | 
				
			||||||
 | 
					            self.root.ids.hardware_rnode_atl_long.bind(on_text_validate=save_connectivity)
 | 
				
			||||||
            self.root.ids.hardware_rnode_bluetooth.bind(active=self.hardware_rnode_bt_toggle_action)
 | 
					            self.root.ids.hardware_rnode_bluetooth.bind(active=self.hardware_rnode_bt_toggle_action)
 | 
				
			||||||
 | 
					            self.root.ids.hardware_rnode_framebuffer.bind(active=self.hardware_rnode_framebuffer_toggle_action)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def hardware_rnode_validate(self, sender=None):
 | 
					    def hardware_rnode_validate(self, sender=None):
 | 
				
			||||||
 | 
				
			|||||||
@ -380,8 +380,14 @@ class SidebandCore():
 | 
				
			|||||||
            self.config["hw_rnode_beacondata"] = None
 | 
					            self.config["hw_rnode_beacondata"] = None
 | 
				
			||||||
        if not "hw_rnode_bluetooth" in self.config:
 | 
					        if not "hw_rnode_bluetooth" in self.config:
 | 
				
			||||||
            self.config["hw_rnode_bluetooth"] = False
 | 
					            self.config["hw_rnode_bluetooth"] = False
 | 
				
			||||||
 | 
					        if not "hw_rnode_enable_framebuffer" in self.config:
 | 
				
			||||||
 | 
					            self.config["hw_rnode_enable_framebuffer"] = False
 | 
				
			||||||
        if not "hw_rnode_bt_device" in self.config:
 | 
					        if not "hw_rnode_bt_device" in self.config:
 | 
				
			||||||
            self.config["hw_rnode_bt_device"] = None
 | 
					            self.config["hw_rnode_bt_device"] = None
 | 
				
			||||||
 | 
					        if not "hw_rnode_atl_short" in self.config:
 | 
				
			||||||
 | 
					            self.config["hw_rnode_atl_short"] = None
 | 
				
			||||||
 | 
					        if not "hw_rnode_atl_long" in self.config:
 | 
				
			||||||
 | 
					            self.config["hw_rnode_atl_long"] = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if not "hw_modem_baudrate" in self.config:
 | 
					        if not "hw_modem_baudrate" in self.config:
 | 
				
			||||||
            self.config["hw_modem_baudrate"] = 115200
 | 
					            self.config["hw_modem_baudrate"] = 115200
 | 
				
			||||||
@ -1678,6 +1684,16 @@ class SidebandCore():
 | 
				
			|||||||
                        else:
 | 
					                        else:
 | 
				
			||||||
                            ifac_netkey = self.config["connect_rnode_ifac_passphrase"]
 | 
					                            ifac_netkey = self.config["connect_rnode_ifac_passphrase"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        if self.config["hw_rnode_atl_short"] == "":
 | 
				
			||||||
 | 
					                            atl_short = None
 | 
				
			||||||
 | 
					                        else:
 | 
				
			||||||
 | 
					                            atl_short = self.config["hw_rnode_atl_short"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        if self.config["hw_rnode_atl_long"] == "":
 | 
				
			||||||
 | 
					                            atl_long = None
 | 
				
			||||||
 | 
					                        else:
 | 
				
			||||||
 | 
					                            atl_long = self.config["hw_rnode_atl_long"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        rnodeinterface = RNS.Interfaces.Android.RNodeInterface.RNodeInterface(
 | 
					                        rnodeinterface = RNS.Interfaces.Android.RNodeInterface.RNodeInterface(
 | 
				
			||||||
                                RNS.Transport,
 | 
					                                RNS.Transport,
 | 
				
			||||||
                                "RNodeInterface",
 | 
					                                "RNodeInterface",
 | 
				
			||||||
@ -1692,6 +1708,8 @@ class SidebandCore():
 | 
				
			|||||||
                                id_callsign = self.config["hw_rnode_beacondata"],
 | 
					                                id_callsign = self.config["hw_rnode_beacondata"],
 | 
				
			||||||
                                allow_bluetooth = rnode_allow_bluetooth,
 | 
					                                allow_bluetooth = rnode_allow_bluetooth,
 | 
				
			||||||
                                target_device_name = bt_device_name,
 | 
					                                target_device_name = bt_device_name,
 | 
				
			||||||
 | 
					                                st_alock = atl_short,
 | 
				
			||||||
 | 
					                                lt_alock = atl_long,
 | 
				
			||||||
                            )
 | 
					                            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        rnodeinterface.OUT = True
 | 
					                        rnodeinterface.OUT = True
 | 
				
			||||||
@ -1716,11 +1734,15 @@ class SidebandCore():
 | 
				
			|||||||
                            if len(rnodeinterface.hw_errors) > 0:
 | 
					                            if len(rnodeinterface.hw_errors) > 0:
 | 
				
			||||||
                                self.setpersistent("startup.errors.rnode", rnodeinterface.hw_errors[0])
 | 
					                                self.setpersistent("startup.errors.rnode", rnodeinterface.hw_errors[0])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        if self.interface_rnode.online:
 | 
					                        if self.config["hw_rnode_enable_framebuffer"] == True:
 | 
				
			||||||
                            self.interface_rnode.display_image(sideband_fb_data)
 | 
					                            if self.interface_rnode.online:
 | 
				
			||||||
                            self.interface_rnode.enable_external_framebuffer()
 | 
					                                self.interface_rnode.display_image(sideband_fb_data)
 | 
				
			||||||
 | 
					                                self.interface_rnode.enable_external_framebuffer()
 | 
				
			||||||
 | 
					                            else:
 | 
				
			||||||
 | 
					                                self.interface_rnode.last_imagedata = sideband_fb_data
 | 
				
			||||||
                        else:
 | 
					                        else:
 | 
				
			||||||
                            self.interface_rnode.last_imagedata = sideband_fb_data
 | 
					                            if self.interface_rnode.online:
 | 
				
			||||||
 | 
					                                self.interface_rnode.disable_external_framebuffer()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    except Exception as e:
 | 
					                    except Exception as e:
 | 
				
			||||||
                        RNS.log("Error while adding RNode Interface. The contained exception was: "+str(e))
 | 
					                        RNS.log("Error while adding RNode Interface. The contained exception was: "+str(e))
 | 
				
			||||||
 | 
				
			|||||||
@ -1430,6 +1430,40 @@ MDNavigationLayout:
 | 
				
			|||||||
                                text: ""
 | 
					                                text: ""
 | 
				
			||||||
                                font_size: dp(24)
 | 
					                                font_size: dp(24)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        MDBoxLayout:
 | 
				
			||||||
 | 
					                            orientation: "horizontal"
 | 
				
			||||||
 | 
					                            spacing: "24dp"
 | 
				
			||||||
 | 
					                            size_hint_y: None
 | 
				
			||||||
 | 
					                            height: self.minimum_height
 | 
				
			||||||
 | 
					                            # padding: [dp(0), dp(0), dp(0), dp(35)]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            MDTextField:
 | 
				
			||||||
 | 
					                                id: hardware_rnode_atl_short
 | 
				
			||||||
 | 
					                                hint_text: "Airime Limit % (15s)"
 | 
				
			||||||
 | 
					                                text: ""
 | 
				
			||||||
 | 
					                                font_size: dp(24)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            MDTextField:
 | 
				
			||||||
 | 
					                                id: hardware_rnode_atl_long
 | 
				
			||||||
 | 
					                                hint_text: "Airime Limit % (1h)"
 | 
				
			||||||
 | 
					                                text: ""
 | 
				
			||||||
 | 
					                                font_size: dp(24)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        MDBoxLayout:
 | 
				
			||||||
 | 
					                            orientation: "horizontal"
 | 
				
			||||||
 | 
					                            size_hint_y: None
 | 
				
			||||||
 | 
					                            padding: [0,0,dp(24),dp(0)]
 | 
				
			||||||
 | 
					                            height: dp(48)
 | 
				
			||||||
 | 
					                            
 | 
				
			||||||
 | 
					                            MDLabel:
 | 
				
			||||||
 | 
					                                text: "Control RNode Display"
 | 
				
			||||||
 | 
					                                font_style: "H6"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            MDSwitch:
 | 
				
			||||||
 | 
					                                id: hardware_rnode_framebuffer
 | 
				
			||||||
 | 
					                                pos_hint: {"center_y": 0.3}
 | 
				
			||||||
 | 
					                                active: False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        MDBoxLayout:
 | 
					                        MDBoxLayout:
 | 
				
			||||||
                            orientation: "horizontal"
 | 
					                            orientation: "horizontal"
 | 
				
			||||||
                            size_hint_y: None
 | 
					                            size_hint_y: None
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user