pypozyx.definitions package¶
Submodules¶
pypozyx.definitions.bitmasks module¶
pypozyx.definitions.bitmasks - contains all bitmasks used in Pozyx functionality, such as interrupt flags.
-
class
pypozyx.definitions.bitmasks.PozyxBitmasks[source]¶ Bases:
object-
ANCHOR= 0¶
-
DEVICE_TYPE= 224¶
-
FIRMWARE_MAJOR= 240¶
-
FIRMWARE_MINOR= 15¶
-
INT_MASK_ALL= 31¶
-
INT_MASK_ERR= 1¶
-
INT_MASK_FUNC= 16¶
-
INT_MASK_IMU= 4¶
-
INT_MASK_PIN= 128¶
-
INT_MASK_POS= 2¶
-
INT_MASK_RX_DATA= 8¶
-
INT_MASK_TDMA= 64¶
-
INT_STATUS_ERR= 1¶
-
INT_STATUS_FUNC= 16¶
-
INT_STATUS_IMU= 4¶
-
INT_STATUS_POS= 2¶
-
INT_STATUS_RX_DATA= 8¶
-
LED_CTRL_LED1= 1¶
-
LED_CTRL_LED2= 2¶
-
LED_CTRL_LED3= 4¶
-
LED_CTRL_LED4= 8¶
-
SELFTEST_RESULT_ACCELEROMETER= 1¶
-
SELFTEST_RESULT_GYRO= 4¶
-
SELFTEST_RESULT_MAGNETOMETER= 2¶
-
SELFTEST_RESULT_MCU= 8¶
-
SELFTEST_RESULT_PRESSURE= 16¶
-
SELFTEST_RESULT_UWB= 32¶
-
TAG= 32¶
-
pypozyx.definitions.constants module¶
pypozyx.definitions.constants - contains all Pozyx constants, such as error definitions, delays, physical convertions.
-
class
pypozyx.definitions.constants.PozyxConstants[source]¶ Bases:
object-
ACCELERATION_DIV_MG= 1.0¶
-
ALL_FLASH_SAVE_TYPES= [1, 2, 3, 4]¶
-
ALL_GPIO_MODES= [0, 1, 1]¶
-
ALL_GPIO_PULLS= [0, 1, 2]¶
-
ALL_UWB_BITRATES= [0, 1, 2]¶
-
ALL_UWB_CHANNELS= [1, 2, 3, 4, 5, 7]¶
-
ALL_UWB_PLENS= [4, 20, 36, 52, 8, 24, 40, 12]¶
-
ALL_UWB_PRFS= [1, 2]¶
-
ANCHOR_MODE= 1¶
-
ANCHOR_SELECT_AUTO= 1¶
-
ANCHOR_SELECT_MANUAL= 0¶
-
DELAY_FLASH= 0.5¶
-
DELAY_INTERRUPT= 0.1¶
-
DELAY_LOCAL_FUNCTION= 0.005¶
-
DELAY_LOCAL_WRITE= 0.001¶
-
DELAY_MODE_CHANGE= 0.02¶
-
DELAY_POLLING= 0.002¶
-
DELAY_POLLING_FAST= 0.0005¶
-
DELAY_RANGING= 0.2¶
-
DELAY_REMOTE_FUNCTION= 0.01¶
-
DELAY_REMOTE_WRITE= 0.005¶
-
DIMENSIONS= [3, 2, 1]¶
-
DIMENSION_2D= 2¶
-
DIMENSION_2_5D= 1¶
-
DIMENSION_3D= 3¶
-
DISCOVERY_ALL_DEVICES= 2¶
-
DISCOVERY_ANCHORS_ONLY= 0¶
-
DISCOVERY_TAGS_ONLY= 1¶
-
DISCOVERY_TYPES= [2, 0, 1]¶
-
EULER_ANGLES_DIV_DEG= 16.0¶
-
FILTER_TYPES= [0, 1, 3, 4]¶
-
FILTER_TYPE_FIR= 1¶
-
FILTER_TYPE_MOVING_AVERAGE= 3¶
-
FILTER_TYPE_MOVING_MEDIAN= 4¶
-
FILTER_TYPE_NONE= 0¶
-
FLASH_SAVE_ALL= 4¶
-
FLASH_SAVE_ANCHOR_IDS= 2¶
-
FLASH_SAVE_NETWORK= 3¶
-
FLASH_SAVE_REGISTERS= 1¶
-
GPIO_DIGITAL_INPUT= 0¶
-
GPIO_NO_PULL= 0¶
-
GPIO_OPEN_DRAIN= 1¶
-
GPIO_PULL_DOWN= 2¶
-
GPIO_PULL_UP= 1¶
-
GPIO_PUSH_PULL= 1¶
-
GYRO_DIV_DPS= 16.0¶
-
INTERRUPT_CONFIG= 36¶
-
INT_PIN0= 0¶
-
INT_PIN1= 1¶
-
LED_CTRL_LED_RX= 16¶
-
LED_CTRL_LED_TX= 32¶
-
LED_OFF= False¶
-
LED_ON= True¶
-
MAGNETOMETER_DIV_UT= 16.0¶
-
MAX_BUF_SIZE= 100¶
-
MAX_LINEAR_ACCELERATION_DIV_MG= 1.0¶
-
MAX_SERIAL_SIZE= 28¶
-
MODE_INTERRUPT= 1¶
-
MODE_POLLING= 0¶
-
PIN_ACTIVE_HIGH= 1¶
-
PIN_ACTIVE_LOW= 0¶
-
PIN_MODE_OPEN_DRAIN= 1¶
-
PIN_MODE_PUSH_PULL= 0¶
-
POSITIONING_ALGORITHMS= [0, 4, 3]¶
-
POSITIONING_ALGORITHM_NONE= 3¶
-
POSITIONING_ALGORITHM_TRACKING= 4¶
-
POSITIONING_ALGORITHM_UWB_ONLY= 0¶
-
POSITION_DIV_MM= 1.0¶
-
PRESSURE_DIV_PA= 1000.0¶
-
QUATERNION_DIV= 16384.0¶
-
RANGE_PROTOCOL_FAST= 1¶
-
RANGE_PROTOCOL_PRECISION= 0¶
-
RANGE_PROTOCOL_TEST= 2¶
-
RANGING_PROTOCOLS= [0, 1]¶
-
REMOTE_DATA= 6¶
-
REMOTE_FUNCTION= 8¶
-
REMOTE_READ= 2¶
-
REMOTE_WRITE= 4¶
-
STATUS_FAILURE= 0¶
-
STATUS_SUCCESS= 1¶
-
STATUS_TIMEOUT= 8¶
-
TAG_MODE= 0¶
-
TEMPERATURE_DIV_CELSIUS= 1.0¶
-
TIMEOUT_OPTIMAL_DISCOVERY= 0.1¶
-
TIMEOUT_POSITIONING= 0.2¶
-
TIMEOUT_POSITIONING_DATA= 1.0¶
-
TIMEOUT_RANGING= 0.025¶
-
TIMEOUT_REMOTE_POSITIONING= 0.4¶
-
TIMEOUT_REMOTE_POSITIONING_DATA= 1.0¶
-
TIMEOUT_REMOTE_RANGING= 0.1¶
-
UWB_BITRATE_110_KBPS= 0¶
-
UWB_BITRATE_6810_KBPS= 2¶
-
UWB_BITRATE_850_KBPS= 1¶
-
UWB_PLEN_1024= 8¶
-
UWB_PLEN_128= 20¶
-
UWB_PLEN_1536= 24¶
-
UWB_PLEN_2048= 40¶
-
UWB_PLEN_256= 36¶
-
UWB_PLEN_4096= 12¶
-
UWB_PLEN_512= 52¶
-
UWB_PLEN_64= 4¶
-
UWB_PRF_16_MHZ= 1¶
-
UWB_PRF_64_MHZ= 2¶
-
-
class
pypozyx.definitions.constants.PozyxErrorCodes[source]¶ Bases:
object-
POZYX_ERROR_ANCHOR_ADD= 3¶
-
POZYX_ERROR_ANCHOR_NOT_FOUND= 14¶
-
POZYX_ERROR_CALIBRATION= 12¶
-
POZYX_ERROR_COMM_QUEUE_FULL= 4¶
-
POZYX_ERROR_DISCOVERY= 11¶
-
POZYX_ERROR_FLASH= 15¶
-
POZYX_ERROR_FLASH_INVALID= 9¶
-
POZYX_ERROR_FUNC_PARAM= 13¶
-
POZYX_ERROR_GENERAL= 255¶
-
POZYX_ERROR_I2C_CMDFULL= 2¶
-
POZYX_ERROR_I2C_READ= 5¶
-
POZYX_ERROR_I2C_WRITE= 1¶
-
POZYX_ERROR_MEMORY= 16¶
-
POZYX_ERROR_NEW_TASK= 241¶
-
POZYX_ERROR_NOACK= 23¶
-
POZYX_ERROR_NONE= 0¶
-
POZYX_ERROR_NOT_ENOUGH_ANCHORS= 10¶
-
POZYX_ERROR_NO_PPS= 240¶
-
POZYX_ERROR_OPERATION_QUEUE_FULL= 7¶
-
POZYX_ERROR_POSALG= 22¶
-
POZYX_ERROR_RANGING= 17¶
-
POZYX_ERROR_RTIMEOUT1= 18¶
-
POZYX_ERROR_RTIMEOUT2= 19¶
-
POZYX_ERROR_SNIFF_OVERFLOW= 224¶
-
POZYX_ERROR_STARTUP_BUSFAULT= 8¶
-
POZYX_ERROR_TDMA= 160¶
-
POZYX_ERROR_TXLATE= 20¶
-
POZYX_ERROR_UNRECDEV= 254¶
-
POZYX_ERROR_UWB_BUSY= 21¶
-
POZYX_ERROR_UWB_CONFIG= 6¶
-
pypozyx.definitions.registers module¶
pypozyx.definitions.registers - contains all register definitions used in Pozyx.
It shouldn’t be necessary to use these in basic applications as the library functions should provide a lot of functionality already, but for advanced users looking to implement their own low-level functionality, these might be very useful.
-
class
pypozyx.definitions.registers.PozyxRegisters[source]¶ Bases:
object-
ACCELERATION_X= 84¶
-
ACCELERATION_Y= 86¶
-
ACCELERATION_Z= 88¶
-
ADD_DEVICE= 196¶
-
ALL_POSITIONING_REGISTERS= [20, 22, 33, 56]¶
-
ALL_UWB_REGISTERS= [28, 29, 30, 31]¶
-
CALIBRATION_STATUS= 6¶
-
CIR_DATA= 200¶
-
CLEAR_DEVICES= 195¶
-
CONFIG_GPIO_1= 39¶
-
CONFIG_GPIO_2= 40¶
-
CONFIG_GPIO_3= 41¶
-
CONFIG_GPIO_4= 42¶
-
DEVICE_LIST_SIZE= 129¶
-
DO_DISCOVERY= 193¶
-
DO_POSITIONING= 182¶
-
DO_POSITIONING_WITH_DATA= 204¶
-
DO_RANGING= 181¶
-
ERROR_CODE= 4¶
-
EULER_ANGLE_HEADING= 102¶
-
EULER_ANGLE_PITCH= 106¶
-
EULER_ANGLE_ROLL= 104¶
-
EULER_ANGLE_YAW= 102¶
-
FIRMWARE_VERSION= 1¶
-
GET_DEVICE_COORDINATES= 198¶
-
GET_DEVICE_INFO= 197¶
-
GET_DEVICE_LIST_IDS= 192¶
-
GET_DEVICE_RANGE_INFO= 199¶
-
GET_FLASH_DETAILS= 187¶
-
GET_POSITIONING_ANCHOR_IDS= 184¶
-
GPIO_1= 133¶
-
GPIO_2= 134¶
-
GPIO_3= 135¶
-
GPIO_4= 136¶
-
GRAVITY_VECTOR_X= 122¶
-
GRAVITY_VECTOR_Y= 124¶
-
GRAVITY_VECTOR_Z= 126¶
-
GYRO_X= 96¶
-
GYRO_Y= 98¶
-
GYRO_Z= 100¶
-
HARDWARE_VERSION= 2¶
-
HEIGHT= 56¶
-
INTERRUPT_MASK= 16¶
-
INTERRUPT_PIN= 17¶
-
INTERRUPT_STATUS= 5¶
-
LED_CONFIGURATION= 21¶
-
LED_CONTROL= 177¶
-
LINEAR_ACCELERATION_X= 116¶
-
LINEAR_ACCELERATION_Y= 118¶
-
LINEAR_ACCELERATION_Z= 120¶
-
MAGNETIC_X= 90¶
-
MAGNETIC_Y= 92¶
-
MAGNETIC_Z= 94¶
-
MAX_LINEAR_ACCELERATION= 78¶
-
NETWORK_ID= 26¶
-
OPERATION_MODE= 34¶
-
POSITIONING_ALGORITHM= 22¶
-
POSITIONING_ERROR_X= 60¶
-
POSITIONING_ERROR_XY= 66¶
-
POSITIONING_ERROR_XZ= 68¶
-
POSITIONING_ERROR_Y= 62¶
-
POSITIONING_ERROR_YZ= 70¶
-
POSITIONING_ERROR_Z= 64¶
-
POSITIONING_FILTER= 20¶
-
POSITIONING_INTERVAL= 24¶
-
POSITIONING_NUMBER_OF_ANCHORS= 23¶
-
POSITION_X= 48¶
-
POSITION_Y= 52¶
-
POSITION_Z= 56¶
-
PRESSURE= 80¶
-
QUATERNION_W= 108¶
-
QUATERNION_X= 110¶
-
QUATERNION_Y= 112¶
-
QUATERNION_Z= 114¶
-
RANGING_PROTOCOL= 33¶
-
READ_RX_DATA= 180¶
-
RESET_FLASH_MEMORY= 185¶
-
RESET_SYSTEM= 176¶
-
RX_DATA_LENGTH= 132¶
-
RX_NETWORK_ID= 130¶
-
SAVE_FLASH_MEMORY= 186¶
-
SELFTEST_RESULT= 3¶
-
SEND_TX_DATA= 179¶
-
SENSORS_MODE= 35¶
-
SET_POSITIONING_ANCHOR_IDS= 183¶
-
TEMPERATURE= 128¶
-
UWB_CHANNEL= 28¶
-
UWB_CRYSTAL_TRIM= 32¶
-
UWB_GAIN= 31¶
-
UWB_PLEN= 30¶
-
UWB_RATES= 29¶
-
WHO_AM_I= 0¶
-
WRITE_TX_DATA= 178¶
-
Module contents¶
pypozyx.definitions - contains all Pozyx constant definitions.
- These definitions are divided in three large groups:
- constants: physical constants, type definitions…
- bitmasks: bitmasks used for ANDing register data against, especially useful for interrupt status data.
- registers: definitions of the register addresses, for more ‘advanced’ use.
When importing this, only the constants will get imported. To import the registers and bitmasks, use the following code:
>>> from pypozyx.definitions.registers import * # or specific registers for best practice
>>> from pypozyx.definitions.bitmasks import * # or specific bitmasks for best practice