Python client for GEX
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
2.0 KiB

#!/usr/bin/env python3
from gex.PayloadBuilder import PayloadBuilder
from gex.PayloadParser import PayloadParser
from gex.TinyFrame import TinyFrame, TF_Msg, TF
from gex.Unit import Unit
from gex.Client import Client
from gex.transport import TrxRawUSB
from gex.transport import TrxSerialSync
from gex.transport import TrxSerialThread
from gex.transport import DongleAdapter
# import all the units
from gex.units.DOut import DOut
from gex.units.DIn import DIn
from gex.units.Neopixel import Neopixel
from gex.units.I2C import I2C
from gex.units.SPI import SPI
from gex.units.USART import USART
from gex.units.OneWire import OneWire
from gex.units.ADC import ADC
from gex.units.SIPO import SIPO
from gex.units.FCAP import FCAP
from gex.units.TOUCH import TOUCH
from gex.units.PWMDim import PWMDim
from gex.units.DAC import DAC
# General, low level
MSG_SUCCESS = 0x00 # Generic success response; used by default in all responses; payload is transaction-specific
MSG_PING = 0x01 # Ping request (or response), used to test connection
MSG_ERROR = 0x02 # Generic failure response (when a request fails to execute)
MSG_BULK_READ_OFFER = 0x03 # Offer of data to read. Payload: u32 total len
MSG_BULK_READ_POLL = 0x04 # Request to read a previously announced chunk. Payload: u32 max chunk
MSG_BULK_WRITE_OFFER = 0x05 # Offer to receive data in a write transaction. Payload: u32 max size, u32 max chunk
MSG_BULK_DATA = 0x06 # Writing a chunk, or sending a chunk to master.
MSG_BULK_END = 0x07 # Bulk transfer is done, no more data to read or write.
# Recipient shall check total len and discard it on mismatch. There could be a checksum ...
MSG_BULK_ABORT = 0x08 # Discard the ongoing transfer
# Unit messages
MSG_UNIT_REQUEST = 0x10 # Command addressed to a particular unit
MSG_UNIT_REPORT = 0x11 # Spontaneous report from a unit
# System messages
MSG_LIST_UNITS = 0x20 # Get all unit call-signs and names
MSG_INI_READ = 0x21 # Read the ini file via bulk
MSG_INI_WRITE = 0x22 # Write the ini file via bulk
MSG_PERSIST_SETTINGS = 0x23 # Write current settings to Flash