def CommandRemoteGPIO(self, remote_callsign, remote_node_id, p3_bitmask_on, p4_bitmask_on, p5_bitmask_on, p3_bitmask_off, p4_bitmask_off, p5_bitmask_off): """ A predefined command to return a complete datagram and command packet to command ALL GPIO's avaailable on a REMOTE (RF) Faraday device (see documentation). .. Note:: Please see the Faraday documentation on GPIO for more information about the GPIO bitmask assignments. :param remote_callsign: The callsign of the remote target Faraday device :param remote_node_id: The ID number (0-255) of the remote target Faraday device. :param p3_bitmask_on: A 1 byte bitmask for PORT 3 GPIO that if bit HIGH it will toggle the corresponding GPIO HIGH. If bit is LOW it will have no affect on the corresponding GPIO. :param p4_bitmask_on: A 1 byte bitmask for PORT 4 GPIO that if bit HIGH it will toggle the corresponding GPIO HIGH. If bit is LOW it will have no affect on the corresponding GPIO. :param p5_bitmask_on: A 1 byte bitmask for PORT 5 GPIO that if bit HIGH it will toggle the corresponding GPIO HIGH. If bit is LOW it will have no affect on the corresponding GPIO. :param p3_bitmask_off: A 1 byte bitmask for PORT 3 GPIO that if bit HIGH it will toggle the corresponding GPIO LOW. If bit is LOW it will have no affect on the corresponding GPIO. :param p4_bitmask_off: A 1 byte bitmask for PORT 4 GPIO that if bit HIGH it will toggle the corresponding GPIO LOW. If bit is LOW it will have no affect on the corresponding GPIO. :param p5_bitmask_off: A 1 byte bitmask for PORT 5 GPIO that if bit HIGH it will toggle the corresponding GPIO LOW. If bit is LOW it will have no affect on the corresponding GPIO. :Return: Returns the complete generated packet as a string of bytes. :Example: >>> faraday_cmd = faradaycommands.faraday_commands() #Turn ON LED 1 >>> command_packet = faraday_cmd.CommandRemoteGPIO("KB1LQD", 1, faradaycommands.gpioallocations.LED_1, 0,0,0,0,0) #Turn OFF LED 1 >>> command_packet = faraday_cmd.CommandRemoteGPIO("KB1LQD", 1, 0, 0,0,faradaycommands.gpioallocations.LED_1,0,0) #Turn ON LED 1 & LED 2 >>> command_packet = faraday_cmd.CommandRemoteGPIO("KB1LQD", 1, faradaycommands.gpioallocations.LED_1 | faradaycommands.gpioallocations.LED_2, 0,0,0,0,0) """ packet = commandmodule.create_rf_command_datagram(remote_callsign, remote_node_id, self.CMD_GPIO, commandmodule.create_gpio_command_packet(p3_bitmask_on, p4_bitmask_on, p5_bitmask_on, p3_bitmask_off, p4_bitmask_off, p5_bitmask_off)) return packet
def CommandRemoteGPIOLED2Off(self, remote_callsign, remote_node_id): """ A predefined command to return a complete datagram and command packet to turn OFF the REMOTE (RF) Faraday's LED #2 using the standard Faraday GPIO commanding packet. :param remote_callsign: The callsign of the remote target Faraday device :param remote_node_id: The ID number (0-255) of the remote target Faraday device. :Return: Returns the complete generated packet as a string of bytes. """ packet = commandmodule.create_rf_command_datagram(remote_callsign, remote_node_id, self.CMD_GPIO, commandmodule.create_gpio_command_packet(0, 0, 0, int(gpioallocations.LED_2), 0, 0)) return packet
def CommandRemoteRFUpdateNow(self, remote_callsign, remote_node_id): """ A predefined command to return a complete datagram and command packet to command the REMOTE (RF) device to transmit is current telemetry packet #3 (normal telemetry) over RF. :param remote_callsign: The callsign of the remote target Faraday device :param remote_node_id: The ID number (0-255) of the remote target Faraday device. :Return: Returns the complete generated packet as a string of bytes. """ packet = commandmodule.create_rf_command_datagram(remote_callsign, remote_node_id, self.CMD_RFTELEMETRYNOW, commandmodule.create_rf_telem_update_packet()) return packet
def CommandRemoteHABDisableAutoCutdownTimer(self, remote_callsign, remote_node_id): """ A predefined command to return a complete datagram and command packet that commands a REMOTE (RF) Faraday device to DISABLE it's High Altitutde Balloon application automatic cutdown timer. :param remote_callsign: The callsign of the remote target Faraday device :param remote_node_id: The ID number (0-255) of the remote target Faraday device. :Return: Returns the complete generated packet as a string of bytes. """ #Don't care what the payload is as long as it is at least 1 byte long packet = commandmodule.create_rf_command_datagram(remote_callsign, remote_node_id, self.CMD_APP_HAB_DISABLEAUTOCUTDOWNTIMER, commandmodule.create_send_telemetry_device_debug_flash()) return packet
def CommandRemoteHABActivateCutdownEvent(self, remote_callsign, remote_node_id): """ A predefined command to return a complete datagram and command packet that commands a REMOTE (RF) Faraday device to perform activate it's High Altitutde Balloon application predefined cutdown event state machine sequence. :param remote_callsign: The callsign of the remote target Faraday device :param remote_node_id: The ID number (0-255) of the remote target Faraday device. :Return: Returns the complete generated packet as a string of bytes. """ #Don't care what the payload is as long as it is at least 1 byte long packet = commandmodule.create_rf_command_datagram(remote_callsign, remote_node_id, self.CMD_APP_HAB_CUTDOWNNOW, commandmodule.create_send_telemetry_device_debug_flash()) return packet
def CommandRemoteHABResetCutdownIdle(self, remote_callsign, remote_node_id): """ A predefined command to return a complete datagram and command packet that commands a REMOTE (RF) Faraday device to set it's cutdown event state machine to IDLE = 0. This command is useful for either stopping an in-progress cutdown event or to reset the cutdown state machine to IDLE = 0 if the cutdown event has already occured and it is in IDLE = 255 state. :param remote_callsign: The callsign of the remote target Faraday device :param remote_node_id: The ID number (0-255) of the remote target Faraday device. :Return: Returns the complete generated packet as a string of bytes. """ #Don't care what the payload is as long as it is at least 1 byte long packet = commandmodule.create_rf_command_datagram(remote_callsign, remote_node_id, self.CMD_APP_HAB_RESETCUTDOWNSTATEMACHINE, commandmodule.create_send_telemetry_device_debug_flash()) return packet
def CommandRf(self, remote_callsign, remote_node_id, command_number, command_packet): """ A predefined function that returns a raw command application DATAGRAM that will cause the supplied command to be executed on a remote (RF) device. This is basically and local command inside the payload of a command to transmit a command to a specific RF unit. :param remote_callsign: The callsign of the remote target Faraday device :param remote_node_id: The ID number (0-255) of the remote target Faraday device. :param command_number: Command application command identification number (Identifies a command/command type using 0-255) :param command_packet: Pass a pre-generated packet as defined by the intended command. :Return: Returns the complete generated packet as a string of bytes. :Example: >>> faraday_cmd = faradaycommands.faraday_commands() >>> packet = faraday_cmd.CommandRf("KB1LQD", 1, faraday_cmd.CMD_GPIO, faradaycommands.commandmodule.create_gpio_command_packet(faradaycommands.gpioallocations.LED_1, 0,0,0,0,0)) """ packet = commandmodule.create_rf_command_datagram(remote_callsign, remote_node_id, command_number, command_packet) return packet