Skip to content

Commit a4679bd

Browse files
committed
add Char readFloat() and writeFloat()
1 parent e29a324 commit a4679bd

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

libraries/Bluefruit52Lib/src/BLECharacteristic.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -609,6 +609,11 @@ uint16_t BLECharacteristic::write32(int num)
609609
return write32( (uint32_t) num );
610610
}
611611

612+
uint16_t BLECharacteristic::writeFloat(float num)
613+
{
614+
return write( (uint8_t*) &num, sizeof(num) );
615+
}
616+
612617
/*------------------------------------------------------------------*/
613618
/* READ
614619
*------------------------------------------------------------------*/
@@ -652,6 +657,12 @@ uint32_t BLECharacteristic::read32(void)
652657
return read(&num, sizeof(num)) ? num : 0;
653658
}
654659

660+
float BLECharacteristic::readFloat(void)
661+
{
662+
float num;
663+
return read(&num, sizeof(num)) ? num : 0;
664+
}
665+
655666
uint16_t BLECharacteristic::getCccd(uint16_t conn_hdl)
656667
{
657668
VERIFY( Bluefruit.connected(conn_hdl) && (_handles.cccd_handle != BLE_GATT_HANDLE_INVALID), 0 );

libraries/Bluefruit52Lib/src/BLECharacteristic.h

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,17 +121,19 @@ class BLECharacteristic
121121
uint16_t write (const void* data, uint16_t len);
122122
uint16_t write (const char* str);
123123

124-
uint16_t write8 (uint8_t num);
125-
uint16_t write16 (uint16_t num);
126-
uint16_t write32 (uint32_t num);
127-
uint16_t write32 (int num);
124+
uint16_t write8 (uint8_t num);
125+
uint16_t write16 (uint16_t num);
126+
uint16_t write32 (uint32_t num);
127+
uint16_t write32 (int num);
128+
uint16_t writeFloat (float num);
128129

129130
/*------------- Read -------------*/
130131
uint16_t read (void* buffer, uint16_t bufsize, uint16_t offset = 0);
131132

132-
uint8_t read8 (void);
133-
uint16_t read16(void);
134-
uint32_t read32(void);
133+
uint8_t read8 (void);
134+
uint16_t read16 (void);
135+
uint32_t read32 (void);
136+
float readFloat (void);
135137

136138
uint16_t getCccd(uint16_t conn_hdl);
137139

0 commit comments

Comments
 (0)