phyphox BLE
Plot your Arduino's data in the phyphox app and control the board from the phone
Loading...
Searching...
No Matches
NinaB31Protocol.h File Reference
Include dependency graph for NinaB31Protocol.h:

Go to the source code of this file.

Classes

struct  phyphox::nina::Event
 
class  phyphox::nina::LineReader
 Assembles lines from the byte stream. More...
 
class  phyphox::nina::EventQueue< N >
 Fixed ring of event lines, filled while a command waits for its response and drained from poll(). More...
 

Namespaces

namespace  phyphox
 
namespace  phyphox::nina
 

Enumerations

enum  phyphox::nina::EventKind : uint8_t {
  phyphox::nina::EV_NONE , phyphox::nina::EV_CONNECTED , phyphox::nina::EV_DISCONNECTED , phyphox::nina::EV_WRITE ,
  phyphox::nina::EV_READ , phyphox::nina::EV_OTHER
}
 

Functions

int phyphox::nina::hexVal (char c)
 
uint16_t phyphox::nina::decodeHex (const char *s, uint8_t *out, uint16_t cap)
 Decode hex digits up to the first non-hex character; returns the byte count.
 
void phyphox::nina::encodeHex (const uint8_t *data, uint16_t len, char *out)
 
bool phyphox::nina::isEvent (const char *line)
 Unsolicited result codes all start with "+UU"; everything else belongs to the command in flight.
 
bool phyphox::nina::startsWith (const char *line, const char *prefix)
 
int phyphox::nina::firstNumber (const char *line)
 The integer after ':' (a handle), or -1 if the line has none.
 
bool phyphox::nina::parseCharacteristicResponse (const char *line, int &valueHandle, int &cccdHandle)
 "+UBTGCHA:<value_handle>,<cccd_handle>"; cccd is 0 when the characteristic has none.
 
Event phyphox::nina::parseEvent (const char *line)
 Classify and parse one unsolicited line.
 

Variables

static const uint16_t phyphox::nina::kLineMax = 128
 Longest line kept: a 20-byte write is ~62 characters, a six-component sensor write ~70.