Mer/Documentation/BME Protocol
This documentation is entirely for the purpose of implementing software gathering battery information, not alteration of battery management state.
General protocol, published https://garage.maemo.org/plugins/scmsvn/viewcvs.php/dsme/trunk/adhoc/dummy_bme.c?revision=155&root=dsm&view=markup , released as LGPL 2.1
- UNIX socket connection to /tmp/.bmesrv
- Client: send('BMentity')
- Server: send('\n')
From then on:
typedef struct {
uint16 type, subtype;
} BMEHeader;
types so far (NAME, (type, subtype)):
EM_BATTERY_INFO_REQ (0x06, 0x00)
typedef struct {
BMEHeader header; u_int32_t flags; Set to 0xFFFFFFFF to get all contents
} BME_EM_BATTERY_INFO_Req;
struct emsg_battery_info_reply {
uint32 a; uint32 flags; uint16 c; uint16 d; uint16 temp; Battery temperature measured in Kelvin uint16 f; uint16 g; uint16 h; uint16 i; uint16 j; uint16 k; uint16 l;
};