You've already forked hexagonrpc
mirror of
https://github.com/linux-msm/hexagonrpc.git
synced 2026-02-25 13:13:52 -08:00
sensh: add support for generic sensor event
Message ID 1025 is an event for "normal" sensors. Add support for logging this event.
This commit is contained in:
5
Makefile
5
Makefile
@@ -25,8 +25,8 @@ LIBS = -lprotobuf-c -lqrtr
|
||||
CFLAGS = -Wall -Wextra -Wpedantic -Ibuild -I.
|
||||
PROTOC_C = protoc-c
|
||||
|
||||
build/sensh: build/sensh.o build/qmi_sns_client.o build/sns_client_event_msg.pb-c.o build/sns_client_request_msg.pb-c.o build/sns_proximity_event.pb-c.o build/sns_std_attr_event.pb-c.o build/sns_std_attr_req.pb-c.o build/sns_std_suid.pb-c.o build/sns_suid_event.pb-c.o build/sns_suid_req.pb-c.o
|
||||
$(CC) -o build/sensh build/sensh.o build/qmi_sns_client.o build/sns_client_event_msg.pb-c.o build/sns_client_request_msg.pb-c.o build/sns_proximity_event.pb-c.o build/sns_std_attr_event.pb-c.o build/sns_std_attr_req.pb-c.o build/sns_std_suid.pb-c.o build/sns_suid_event.pb-c.o build/sns_suid_req.pb-c.o $(LIBS)
|
||||
build/sensh: build/sensh.o build/qmi_sns_client.o build/sns_client_event_msg.pb-c.o build/sns_client_request_msg.pb-c.o build/sns_proximity_event.pb-c.o build/sns_std_attr_event.pb-c.o build/sns_std_attr_req.pb-c.o build/sns_std_sensor_event.pb-c.o build/sns_std_suid.pb-c.o build/sns_suid_event.pb-c.o build/sns_suid_req.pb-c.o
|
||||
$(CC) -o build/sensh build/sensh.o build/qmi_sns_client.o build/sns_client_event_msg.pb-c.o build/sns_client_request_msg.pb-c.o build/sns_proximity_event.pb-c.o build/sns_std_attr_event.pb-c.o build/sns_std_attr_req.pb-c.o build/sns_std_sensor_event.pb-c.o build/sns_std_suid.pb-c.o build/sns_suid_event.pb-c.o build/sns_suid_req.pb-c.o $(LIBS)
|
||||
|
||||
build/qmi_%.d: build/qmi_%.c
|
||||
$(CC) $(CFLAGS) -MM -MT build/$*.o -o $@ $<
|
||||
@@ -59,6 +59,7 @@ include build/sns_client_request_msg.pb-c.d
|
||||
include build/sns_proximity_event.pb-c.d
|
||||
include build/sns_std_attr_event.pb-c.d
|
||||
include build/sns_std_attr_req.pb-c.d
|
||||
include build/sns_std_sensor_event.pb-c.d
|
||||
include build/sns_std_suid.pb-c.d
|
||||
include build/sns_suid_event.pb-c.d
|
||||
include build/sns_suid_req.pb-c.d
|
||||
|
||||
24
sensh.c
24
sensh.c
@@ -58,6 +58,7 @@
|
||||
#include "sns_proximity_event.pb-c.h"
|
||||
#include "sns_std_attr_req.pb-c.h"
|
||||
#include "sns_std_attr_event.pb-c.h"
|
||||
#include "sns_std_sensor_event.pb-c.h"
|
||||
|
||||
#define SHELL_POLL 0
|
||||
#define QRTR_POLL 1
|
||||
@@ -125,6 +126,7 @@ void sns_handle_suid_event(struct qrtr_client_ctx *ctx, const void *payload, siz
|
||||
void sns_handle_cal_event(struct qrtr_client_ctx *ctx, const void *payload, size_t payload_len);
|
||||
void sns_handle_attr_event(struct qrtr_client_ctx *ctx, const void *payload, size_t payload_len);
|
||||
void sns_handle_proximity_event(struct qrtr_client_ctx *ctx, const void *payload, size_t payload_len);
|
||||
void sns_handle_sensor_event(struct qrtr_client_ctx *ctx, const void *payload, size_t payload_len);
|
||||
void sns_handle_unknown_event(struct qrtr_client_ctx *ctx, int msgid, const void *payload, size_t payload_len);
|
||||
void sns_handle_event(struct qrtr_client_ctx *ctx, const void *buf, size_t len);
|
||||
|
||||
@@ -227,6 +229,8 @@ void sns_handle_event(struct qrtr_client_ctx *ctx, const void *buf, size_t len)
|
||||
sns_handle_attr_event(ctx, msg->events[i]->payload.data, msg->events[i]->payload.len);
|
||||
else if (msg->events[i]->msg_id == 769)
|
||||
sns_handle_proximity_event(ctx, msg->events[i]->payload.data, msg->events[i]->payload.len);
|
||||
else if (msg->events[i]->msg_id == 1025) // SNS_STD_SENSOR_MSGID_SNS_STD_SENSOR_EVENT
|
||||
sns_handle_sensor_event(ctx, msg->events[i]->payload.data, msg->events[i]->payload.len);
|
||||
else
|
||||
sns_handle_unknown_event(ctx, msg->events[i]->msg_id, msg->events[i]->payload.data, msg->events[i]->payload.len);
|
||||
}
|
||||
@@ -305,6 +309,26 @@ void sns_handle_proximity_event(struct qrtr_client_ctx *ctx, const void *payload
|
||||
sns_proximity_event__free_unpacked(event, NULL);
|
||||
}
|
||||
|
||||
void sns_handle_sensor_event(struct qrtr_client_ctx *ctx, const void *payload, size_t payload_len) {
|
||||
SnsStdSensorEvent *event;
|
||||
int i;
|
||||
|
||||
event = sns_std_sensor_event__unpack(NULL, payload_len, payload);
|
||||
|
||||
printf("sensh: sensor data: ");
|
||||
|
||||
for (i = 0; i < event->n_data; i++) {
|
||||
printf("%f", event->data[i]);
|
||||
|
||||
if (i + 1 < event->n_data)
|
||||
printf(", ");
|
||||
}
|
||||
|
||||
putchar('\n');
|
||||
|
||||
sns_std_sensor_event__free_unpacked(event, NULL);
|
||||
}
|
||||
|
||||
void sns_handle_unknown_event(struct qrtr_client_ctx *ctx, int msgid, const void *payload, size_t payload_len) {
|
||||
printf("sensh: received unknown event %d, raw: ", msgid);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user