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