No ACL setup yet! Denying access to everyone.
en:edu:zmitac:s2:aih:lab:nrf52zephyrbleperipheral

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:edu:zmitac:s2:aih:lab:nrf52zephyrbleperipheral [2024/01/13 15:10] – [Adding the possibility of reading the characteristic] ktokarzen:edu:zmitac:s2:aih:lab:nrf52zephyrbleperipheral [2024/01/13 15:23] (current) – [Adding the possibility of reading the characteristic] ktokarz
Line 102: Line 102:
   * write the callback function that calls bt_gatt_attr_read() (example function in the following code)   * write the callback function that calls bt_gatt_attr_read() (example function in the following code)
   * register callback function within the BT_GATT_CHARACTERISTIC macro using the "_read" parameter.   * register callback function within the BT_GATT_CHARACTERISTIC macro using the "_read" parameter.
 +Notice that the temperature data sent in the original example by indications is encoded in the following format, which can be automatically decoded by nRF Connect software.
 +<code>
 +bool         temp_in_fahr_units
 +bool         time_stamp_present
 +bool         temp_type_present
 +ieee_float32_t temp_in_celcius
 +ieee_float32_t temp_in_fahr
 +ble_date_time_t time_stamp
 +uint8_t temp_type
 +</code>
 +All boolean flags are set to 0 (the first byte which is sent is 0x00), so the only data is the temperature expressed as a 32-bit floating point number encoded as an 8-bit exponent and 24-bit mantissa (ieee_float32_t). 
 +<note>
 +In the ieee_float32_t format, the exponent is encoded as a signed 8-bit binary 10-based number. The mantissa is encoded as a signed 24-bit binary number. This format is incompatible with single or double-precision formats used in microprocessors, so conversion is required.
 +</note>
 An example of the callback function which simulates the thermometer value can look like this: An example of the callback function which simulates the thermometer value can look like this:
 <code> <code>
Line 127: Line 141:
 } }
 </code> </code>
-Notice that the temperature data which is sent in the original example by indications is encoded in the following format: +
-<code> +
-bool         temp_in_fahr_units +
-bool         time_stamp_present +
-bool         temp_type_present +
-ieee_float32_t temp_in_celcius +
-ieee_float32_t temp_in_fahr +
-ble_date_time_t time_stamp +
-uint8_t temp_type +
-</code> +
-All boolean flags are set to 0 (the first byte which is sent is 0x00), so the only data is the temperature expressed as a 32-bit floating point number encoded as an 8-bit exponent and 24-bit mantissa (ieee_float32_t). The exponent is encoded as a signed 8-bit binary 10-based number. The mantissa is encoded as a signed 24-bit binary number. This format is incompatible with single or double-precision formats used in microprocessors, so conversion is required.+
 ===== Tasks to do during the laboratory ===== ===== Tasks to do during the laboratory =====
   - Import the peripheral_ht example.   - Import the peripheral_ht example.
en/edu/zmitac/s2/aih/lab/nrf52zephyrbleperipheral.1705155027.txt.gz · Last modified: by ktokarz