Nordic Semiconductor nRF5 AirFuel SDK  version 2.2.0
PTU profile configuration

Macros

#define PTU_MAX_CONNECTIONS   8
 
#define PTU_MAX_DEVICES   8
 
#define PTU_OUTPUT_TX_POWER   0
 
#define PTU_HW_REVISION   0
 
#define PTU_FW_REVISION   0
 
#define PTU_PROTOCOL_REVISION   1
 
#define PTU_MAX_APP_TIMERS   3
 
#define PTU_SENSORS_READ_INTERVAL_MS   30
 
#define PTU_PRU_DYN_READ_INTERVAL_MS   50
 
#define PTU_CONFIG_TIMEOUT_MS   10
 
#define PTU_SEC_MIN_KEYSIZE   7
 
#define PTU_SEC_MAX_KEYSIZE   16
 
#define PTU_P_ADJ_CMD_COOLDOWN_MS   2000
 
#define PTU_ADJUSTED_POWER_BIT_TIMEOUT_MS   2000
 
#define PTU_POWER_TRANSFER_HYSTERISIS   100
 
#define PTU_RECONNECT_TIMEOUT_MS   1100
 
#define PTU_DISTANT_LIST_LEN   30
 
#define PTU_MS_FROM_BEACON_STOP_TO_ACTIVATE_DISTANT_LIST   100
 
#define PTU_ALLOWED_REDUCED_POSITIVE_ITX_COIL_ADJUSTMENT_MULTIPLIER   0.95
 
#define PTU_ALLOWED_REDUCED_NEGATIVE_ITX_COIL_ADJUSTMENT_MULTIPLIER   1.05
 
#define PTU_DOMINANT_PRU_UPPER_LIMIT_VRECTSET_MULTIPLIER_FOR_REDUCTION_IN_STEP_SIZE   1.0/0.95
 
#define PTU_DOMINANT_PRU_LOWER_LIMIT_VRECTSET_MULTIPLIER_FOR_REDUCTION_IN_STEP_SIZE   1.0/1.05
 
#define PTU_LOAD_VARIATION_DETECT_LIFETIME_MS   1500
 
#define PTU_Z_TX_IN_NO_LOAD   100
 
#define PTU_Z_TX_IN_LOAD_DETECT   50
 
#define PTU_P_TX_IN_LOAD_DETECT   50
 
#define PTU_Z_MEAS_BUF_LENGTH   ((100 / PTU_SENSORS_READ_INTERVAL_MS) + 1)
 
#define PTU_CCA_RSSI_ENABLE   true
 
#define PTU_CCA_TIME_SET_ENABLE   true
 
#define PTU_CCA_REBOOT_BIT_ENABLE   false
 
#define PTU_TIME_SET_VAL_MS   80
 
#define PTU_TIME_SET_VAL_MS_MARGIN   4
 
#define PTU_TIME_SET_CHECK_INTERVAL_MS   2
 
#define PTU_TIME_SET_500_MS_OF_SAMPLES   (500 / PTU_TIME_SET_CHECK_INTERVAL_MS)
 
#define PTU_TIME_SET_LOWER_LIMIT_MS
 
#define PTU_TIME_SET_UPPER_LIMIT_MS
 
#define PTU_TIME_SET_VAL_LOW_LOAD_MS   20
 
#define PTU_MAX_DISTANT_PRUS   3
 
#define PTU_ADV_PRE_CONNECT_ALLOW   11
 
#define PTU_ADV_IGNORE_TIMEOUT_MS   1700
 
#define PTU_POWER_SAVE_STATE_SCAN_INTERVAL   160
 
#define PTU_POWER_SAVE_STATE_SCAN_WINDOW   PTU_POWER_SAVE_STATE_SCAN_INTERVAL
 
#define PTU_NORMAL_SCAN_INTERVAL   80
 
#define PTU_NORMAL_SCAN_WINDOW   48
 
#define PTU_MIN_CONN_INTERVAL   40
 
#define PTU_MAX_CONN_INTERVAL   40
 
#define PTU_SLAVE_LATENCY   0
 
#define PTU_CONN_SUP_TIMEOUT   100
 
#define PTU_MAX_BLE_CONN_ATTEMPTS   2
 
#define PTU_MAX_REG_ATTEMPTS   2
 
#define PTU_REG_TIMEOUT_MS   500
 
#define PTU_REVOKE_ACCEPTED_STATE   true
 
#define PTU_REVOKE_ACCEPTED_STATE_NON_POWER_SAVE_MS   (PTU_REVOKE_ACCEPTED_STATE_RETRIES * PTU_BEACON_DURATION_LONG_MS)
 
#define PTU_REVOKE_ACCEPTED_STATE_POWER_SAVE_MS   (PTU_REVOKE_ACCEPTED_STATE_RETRIES * ((PTU_BEACON_CYCLES_LONG * PTU_BEACON_CYCLE_PERIOD_MS) + PTU_BEACON_DURATION_LONG_MS))
 
#define PTU_REVOKE_ACCEPTED_STATE_RETRIES   3
 
#define PTU_ROGUE_OBJECT_DETECT_THRESHOLD   30
 
#define PTU_CCA_ROGUE_DETECT_ENABLE   true
 
#define PTU_BEACON_CYCLE_PERIOD_MS   250
 
#define PTU_BEACON_CYCLES_LONG   10
 
#define PTU_BEACON_DURATION_SHORT_MS   10
 
#define PTU_LATCH_FAULT_ENTRY_DELAY_MS   1000
 
#define PTU_LATCH_FAULT_EXIT_ATTEMPT_DELAY_MS   5000
 
#define PTU_LATCH_FAULT_MAX_AUTO_CLR_ATTEMPTS   3
 
#define PTU_LATCH_FAULT_NO_ERR_CLR_TIMEOUT_SEC   (5 * 60)
 
#define PTU_LATCH_FAULT_NO_ERR_CLR_TIMEOUT_MS   PTU_LATCH_FAULT_NO_ERR_CLR_TIMEOUT_SEC * 1000
 
#define PTU_LATCH_FAULT_NO_LOAD_VAR_NO_DEVICES_MS   5000
 
#define BLE_WPTS_PTU_STATIC_MAX_SOURCE_IMPEDANCE_VAL   BLE_WPTS_PTU_STATIC_MAX_SOURCE_IMPEDANCE_100_VAL
 
#define BLE_WPTS_PTU_STATIC_MAX_SOURCE_IMPEDANCE_VALID   0
 
#define BLE_WPTS_PTU_STATIC_MAX_LOAD_RESISTANCE_VAL   BLE_WPTS_PTU_STATIC_MAX_LOAD_RESISTANCE_55_VAL
 
#define BLE_WPTS_PTU_STATIC_MAX_LOAD_RESISTANCE_VALID   0
 
#define BLE_WPTS_PTU_POWER   BLE_WPTS_PTU_POWER_9_9W
 
#define PTU_BUTTON_PRESS_LENGTH_DFU_MS   5 * 1000
 
#define PTU_BEACON_DURATION_LONG_MS   105
 
#define PTU_BEACON_DURATION_EXTENDED_MS   3000
 
#define PTU_POWER_SAVE_LONG_BEACON_PTX_READ_INTERVAL_MS   2
 
#define BLE_WPTS_PTU_STATIC_NUM_DEVICES_BITVAL   BLE_WPTS_PTU_STATIC_NUM_DEVICES_8_VAL
 
#define BLE_WPTS_TIME_SET_BITVAL   CTL_TIME_SET_80MS
 

Detailed Description

Macro Definition Documentation

#define PTU_MAX_CONNECTIONS   8

Maximum number of simultaneous connections supported by PTU [#].

Definition at line 29 of file ptu_config.h.

#define PTU_MAX_DEVICES   8

Maximum number of devices that can be charged simultaneously [#].

Definition at line 30 of file ptu_config.h.

#define PTU_OUTPUT_TX_POWER   0

Ouput TX power [dBm].

Definition at line 31 of file ptu_config.h.

#define PTU_HW_REVISION   0

Revision of the PTU HW.

Definition at line 32 of file ptu_config.h.

#define PTU_FW_REVISION   0

Revision of the PTU SW.

Definition at line 33 of file ptu_config.h.

#define PTU_PROTOCOL_REVISION   1

Protocol Revision

Definition at line 34 of file ptu_config.h.

#define PTU_MAX_APP_TIMERS   3

Maximium timers to be instansiated in application [#].

Definition at line 35 of file ptu_config.h.

#define PTU_SENSORS_READ_INTERVAL_MS   30

Local sensor read interval [ms].

Definition at line 36 of file ptu_config.h.

#define PTU_PRU_DYN_READ_INTERVAL_MS   50

PRU dynamic parameters read interval [ms].

Definition at line 37 of file ptu_config.h.

#define PTU_CONFIG_TIMEOUT_MS   10

Duration of configuruation state [ms].

Definition at line 38 of file ptu_config.h.

#define PTU_SEC_MIN_KEYSIZE   7

Minimum keysize [7,16] to be used for encryption [bytes].

Definition at line 39 of file ptu_config.h.

#define PTU_SEC_MAX_KEYSIZE   16

Minimum keysize [7,16] to be used for encryption [bytes].

Definition at line 40 of file ptu_config.h.

#define PTU_P_ADJ_CMD_COOLDOWN_MS   2000

Time required between power adjust commands to a PRU [ms].

Definition at line 41 of file ptu_config.h.

#define PTU_ADJUSTED_POWER_BIT_TIMEOUT_MS   2000

Timeout value for PRU setting power adjusted bit [ms].

Definition at line 42 of file ptu_config.h.

#define PTU_POWER_TRANSFER_HYSTERISIS   100

Set slack for adjusting vrect. Will not be adjusted before value exceeds VRECT +/- (1/2 * slack) [mV]

Definition at line 43 of file ptu_config.h.

#define PTU_RECONNECT_TIMEOUT_MS   1100

Timeout of PTU reconnection procedure. [ms]

Definition at line 44 of file ptu_config.h.

#define PTU_DISTANT_LIST_LEN   30

How many entries should the distant list hold.

Definition at line 45 of file ptu_config.h.

#define PTU_MS_FROM_BEACON_STOP_TO_ACTIVATE_DISTANT_LIST   100

How long should PTU wait after Long Beacon end before starting to add devices to distant list? [ms]

Definition at line 46 of file ptu_config.h.

#define PTU_ALLOWED_REDUCED_POSITIVE_ITX_COIL_ADJUSTMENT_MULTIPLIER   0.95

Multiply with PRU VRECT to see if positive ITX_COIL adjustment step size can be reduced. [scalar]

Definition at line 49 of file ptu_config.h.

#define PTU_ALLOWED_REDUCED_NEGATIVE_ITX_COIL_ADJUSTMENT_MULTIPLIER   1.05

Multiply with PRU VRECT to see if negative ITX_COIL adjustment step size can be reduced. [scalar]

Definition at line 52 of file ptu_config.h.

#define PTU_DOMINANT_PRU_UPPER_LIMIT_VRECTSET_MULTIPLIER_FOR_REDUCTION_IN_STEP_SIZE   1.0/0.95

Multiply with dominant PRU VRECT to see if PTU qualifies for smaller ITX_COIL step size, in conjunction with lower limit.

Definition at line 55 of file ptu_config.h.

#define PTU_DOMINANT_PRU_LOWER_LIMIT_VRECTSET_MULTIPLIER_FOR_REDUCTION_IN_STEP_SIZE   1.0/1.05

Multiply with dominant PRU VRECT to see if PTU qualifies for smaller ITX_COIL step size, in conjunction with upper limit.

Definition at line 60 of file ptu_config.h.

#define PTU_LOAD_VARIATION_DETECT_LIFETIME_MS   1500

Time a load variation detect is assumed valid [ms]

Definition at line 70 of file ptu_config.h.

#define PTU_Z_TX_IN_NO_LOAD   100

Measured impedance above this limit [ohms] are seen as "no load"

Definition at line 71 of file ptu_config.h.

#define PTU_Z_TX_IN_LOAD_DETECT   50

Impedenacce threshold [ohms] use for "load variation detect"

Definition at line 72 of file ptu_config.h.

#define PTU_P_TX_IN_LOAD_DETECT   50

1/100 W change required to generate load variation

Definition at line 73 of file ptu_config.h.

#define PTU_Z_MEAS_BUF_LENGTH   ((100 / PTU_SENSORS_READ_INTERVAL_MS) + 1)

Number of impedance samples to store for load variation detection. Time over which to calculate load variation will be given as: PTU_SENSORS_READ_INTERVAL_MS * PTU_Z_MEAS_BUF_LENGTH.

Definition at line 79 of file ptu_config.h.

#define PTU_CCA_RSSI_ENABLE   true

Enable filtering of adv packets based on receive power

Definition at line 85 of file ptu_config.h.

#define PTU_CCA_TIME_SET_ENABLE   true

Expect load variation after sending "time set value" in control packet

Definition at line 86 of file ptu_config.h.

#define PTU_CCA_REBOOT_BIT_ENABLE   false

Reboot bit handling + "distant list"

Definition at line 87 of file ptu_config.h.

#define PTU_TIME_SET_VAL_MS   80

Time set value [ms].

Definition at line 88 of file ptu_config.h.

#define PTU_TIME_SET_VAL_MS_MARGIN   4

Allowed offset margin for time set load variation [ms].

Definition at line 89 of file ptu_config.h.

#define PTU_TIME_SET_CHECK_INTERVAL_MS   2

How often will samples of P_TX be taken when performing Time Set procedure [ms].

Definition at line 90 of file ptu_config.h.

#define PTU_TIME_SET_500_MS_OF_SAMPLES   (500 / PTU_TIME_SET_CHECK_INTERVAL_MS)

How many time set samples makes up 500ms.

Definition at line 91 of file ptu_config.h.

#define PTU_TIME_SET_LOWER_LIMIT_MS
Value:
PTU_TIME_SET_VAL_MS_MARGIN - \
PTU_TIME_SET_CHECK_INTERVAL_MS)
#define PTU_TIME_SET_VAL_MS
Definition: ptu_config.h:88

Lower limit of duration of load variation during timeset.

Definition at line 93 of file ptu_config.h.

#define PTU_TIME_SET_UPPER_LIMIT_MS
Value:
PTU_TIME_SET_VAL_MS_MARGIN)
#define PTU_TIME_SET_VAL_MS
Definition: ptu_config.h:88

Upper limit of duration of load variation during timeset.

Definition at line 97 of file ptu_config.h.

#define PTU_TIME_SET_VAL_LOW_LOAD_MS   20

Period load shall remain off after PRU has enabled dummy load [ms].

Definition at line 100 of file ptu_config.h.

#define PTU_MAX_DISTANT_PRUS   3

Maximum number of PRUs in distant list [#].

Definition at line 101 of file ptu_config.h.

#define PTU_ADV_PRE_CONNECT_ALLOW   11

Number of adv packets received from a PRU only fulfilling one of two connection conditions before connection is granted anyway 7(6.6.2).

Definition at line 102 of file ptu_config.h.

#define PTU_ADV_IGNORE_TIMEOUT_MS   1700

Time elapsed after 1 of 2 conditions are fulfilled until connection may be sent anyway (6.6.2).

Definition at line 105 of file ptu_config.h.

#define PTU_POWER_SAVE_STATE_SCAN_INTERVAL   160

Scan interval when 0 devices connected. 100 ms (0.625 ms units)

Definition at line 113 of file ptu_config.h.

#define PTU_POWER_SAVE_STATE_SCAN_WINDOW   PTU_POWER_SAVE_STATE_SCAN_INTERVAL

Scan window when 0 devices connected.Equals tp scan interval

Definition at line 114 of file ptu_config.h.

#define PTU_NORMAL_SCAN_INTERVAL   80

Scan interval when > 0 devices connected. 50 ms (0.625 ms units)

Definition at line 118 of file ptu_config.h.

#define PTU_NORMAL_SCAN_WINDOW   48

Scan window when > 0 devices connected. 30 ms (0.625 ms units)

Definition at line 120 of file ptu_config.h.

#define PTU_MIN_CONN_INTERVAL   40

Minimum acceptable connection interval, Connection interval uses 1.25 ms units.

Definition at line 126 of file ptu_config.h.

#define PTU_MAX_CONN_INTERVAL   40

Maximum acceptable connection interval, Connection interval uses 1.25 ms units.

Definition at line 127 of file ptu_config.h.

#define PTU_SLAVE_LATENCY   0

Slave latency.

Definition at line 128 of file ptu_config.h.

#define PTU_CONN_SUP_TIMEOUT   100

Connection supervisory timeout, Supervision Timeout uses 10 ms units.

Definition at line 129 of file ptu_config.h.

#define PTU_MAX_BLE_CONN_ATTEMPTS   2

Max BLE connection attempts per registration

Definition at line 130 of file ptu_config.h.

#define PTU_MAX_REG_ATTEMPTS   2

Number of connection attempts before entering latching fault

Definition at line 131 of file ptu_config.h.

#define PTU_REG_TIMEOUT_MS   500

Registration timeout [ms].

Definition at line 132 of file ptu_config.h.

#define PTU_REVOKE_ACCEPTED_STATE   true

Decides whether PTU should revoke acceptance of PRUs which were fully accepted after fulfilling the criteria for partially accepted devices mentioned in the "Acceptance of Advertisement" chapter.

If this value is set to false, no revocation will take place, and the PRU will stay in state 'FULLY_ACCEPTED' until registry is filled up, and the PRU will be removed to make room for new devices.

If this value is set to true the PRU will be revoked acceptance after a configurable amount of time after being set to 'FULLY_ACCEPTED'. ! - Note that the specification does not mention any upper limit for the validity of a PRU which has been set to 'FULLY_ACCEPTED'

If Revocation of Fully Accepted PRUs is used, the revocation timeouts should be configured. I.E. if the PTU is in Power Save, the PTU should wait until at least one Long Beacon has been performed.

Definition at line 149 of file ptu_config.h.

#define PTU_REVOKE_ACCEPTED_STATE_NON_POWER_SAVE_MS   (PTU_REVOKE_ACCEPTED_STATE_RETRIES * PTU_BEACON_DURATION_LONG_MS)

Timeout value for revoking the 'FULLY_ACCEPTED' PRU when the PTU is in any state BUT power save.

Definition at line 154 of file ptu_config.h.

Timeout value for revoking the 'FULLY_ACCEPTED' state from PRU when the PTU is in power save state.

Definition at line 160 of file ptu_config.h.

#define PTU_REVOKE_ACCEPTED_STATE_RETRIES   3

Both values PTU_REVOKE_ACCEPTED_STATE_POWER_SAVE_MS and PTU_REVOKE_ACCEPTED_STATE_NON_POWER_SAVE_MS are multiplied with this value to get the timeout value of revoking the accepted PRU. The two abovementioned values will typically reflect the time required for allowing the PRU one more chance to advertise, in which case this value configures how many "chances" the PRU should get.

Definition at line 168 of file ptu_config.h.

#define PTU_ROGUE_OBJECT_DETECT_THRESHOLD   30

Rougue object detected threshold [1/10 W].

Definition at line 175 of file ptu_config.h.

#define PTU_CCA_ROGUE_DETECT_ENABLE   true

Rogue object detection enable

Definition at line 176 of file ptu_config.h.

#define PTU_BEACON_CYCLE_PERIOD_MS   250

Beacon cycle (t_cycle) [ms]

Definition at line 182 of file ptu_config.h.

#define PTU_BEACON_CYCLES_LONG   10

Number of beacon cycles for every long beacon.

Definition at line 183 of file ptu_config.h.

#define PTU_BEACON_DURATION_SHORT_MS   10

Duration of short beacon [ms].

Definition at line 184 of file ptu_config.h.

#define PTU_LATCH_FAULT_ENTRY_DELAY_MS   1000

Delay after entering Latching Fault starting short beacon. [ms]

Definition at line 205 of file ptu_config.h.

#define PTU_LATCH_FAULT_EXIT_ATTEMPT_DELAY_MS   5000

Delay after entering Latching Fault before attempting to clear fault. [ms]

Definition at line 206 of file ptu_config.h.

#define PTU_LATCH_FAULT_MAX_AUTO_CLR_ATTEMPTS   3

Maximum number of successive latching faults that can be auto cleared.

Definition at line 207 of file ptu_config.h.

#define PTU_LATCH_FAULT_NO_ERR_CLR_TIMEOUT_SEC   (5 * 60)

Clear successive latching fault count after this period without errors.

Definition at line 208 of file ptu_config.h.

#define PTU_LATCH_FAULT_NO_ERR_CLR_TIMEOUT_MS   PTU_LATCH_FAULT_NO_ERR_CLR_TIMEOUT_SEC * 1000

Clear successive latching fault count after this period without errors.

Definition at line 209 of file ptu_config.h.

#define PTU_LATCH_FAULT_NO_LOAD_VAR_NO_DEVICES_MS   5000

How many milliseconds needs to pass without seeing a load to imply that no devices are on pad.

Definition at line 210 of file ptu_config.h.

#define BLE_WPTS_PTU_STATIC_MAX_SOURCE_IMPEDANCE_VAL   BLE_WPTS_PTU_STATIC_MAX_SOURCE_IMPEDANCE_100_VAL

Default MAX Source Impedance

Definition at line 217 of file ptu_config.h.

#define BLE_WPTS_PTU_STATIC_MAX_SOURCE_IMPEDANCE_VALID   0

1 if MAX Source Impedance is valid, else 0

Definition at line 218 of file ptu_config.h.

#define BLE_WPTS_PTU_STATIC_MAX_LOAD_RESISTANCE_VAL   BLE_WPTS_PTU_STATIC_MAX_LOAD_RESISTANCE_55_VAL

Default MAX Load Resistance

Definition at line 219 of file ptu_config.h.

#define BLE_WPTS_PTU_STATIC_MAX_LOAD_RESISTANCE_VALID   0

1 if MAX Load Resistance is valid, else 0

Definition at line 220 of file ptu_config.h.

#define BLE_WPTS_PTU_POWER   BLE_WPTS_PTU_POWER_9_9W

Default PTU Power

Definition at line 221 of file ptu_config.h.

#define PTU_BUTTON_PRESS_LENGTH_DFU_MS   5 * 1000

Button needs to be pressed for 5 seconds in order to start DFU mode.

Definition at line 227 of file ptu_config.h.

#define PTU_BEACON_DURATION_LONG_MS   105

Duration of long beacon [ms].

Definition at line 234 of file ptu_config.h.

#define PTU_BEACON_DURATION_EXTENDED_MS   3000

Duration of extended beacon [ms].

Definition at line 235 of file ptu_config.h.

#define PTU_POWER_SAVE_LONG_BEACON_PTX_READ_INTERVAL_MS   2

How often is PTX value read. Changing this value will break LBE functionality.

Definition at line 236 of file ptu_config.h.

#define BLE_WPTS_PTU_STATIC_NUM_DEVICES_BITVAL   BLE_WPTS_PTU_STATIC_NUM_DEVICES_8_VAL

Internal definition

Definition at line 256 of file ptu_config.h.

#define BLE_WPTS_TIME_SET_BITVAL   CTL_TIME_SET_80MS

Internal definition

Definition at line 278 of file ptu_config.h.