diff options
Diffstat (limited to 'src/lib')
-rwxr-xr-x | src/lib/dlt_client.c | 65 |
1 files changed, 64 insertions, 1 deletions
diff --git a/src/lib/dlt_client.c b/src/lib/dlt_client.c index 76a4c71..9104416 100755 --- a/src/lib/dlt_client.c +++ b/src/lib/dlt_client.c @@ -319,7 +319,6 @@ int dlt_client_send_ctrl_msg(DltClient *client, char *apid, char *ctid, uint8_t { DltMessage msg; int ret; - int offset=0; int32_t len; @@ -477,6 +476,70 @@ int dlt_client_send_inject_msg(DltClient *client, char *apid, char *ctid, uint32 return 0; } +int dlt_client_send_log_level(DltClient *client, char *apid, char *ctid, uint8_t logLevel) +{ + DltServiceSetLogLevel *req; + uint8_t *payload; + + payload = (uint8_t *) malloc(sizeof(DltServiceSetLogLevel)); + + if(payload==0) + { + return -1; + } + + req = (DltServiceSetLogLevel *) payload; + + req->service_id = DLT_SERVICE_ID_SET_LOG_LEVEL; + dlt_set_id(req->apid,apid); + dlt_set_id(req->ctid,ctid); + req->log_level=logLevel; + dlt_set_id(req->com,"remo"); + + /* free message */ + if (dlt_client_send_ctrl_msg(client,"APP","CON",payload,sizeof(DltServiceSetLogLevel))==-1) + { + free(payload); + return -1; + } + + free(payload); + + return 0; +} + +int dlt_client_send_trace_status(DltClient *client, char *apid, char *ctid, uint8_t traceStatus) +{ + DltServiceSetLogLevel *req; + uint8_t *payload; + + payload = (uint8_t *) malloc(sizeof(DltServiceSetLogLevel)); + + if(payload==0) + { + return -1; + } + + req = (DltServiceSetLogLevel *) payload; + + req->service_id = DLT_SERVICE_ID_SET_TRACE_STATUS; + dlt_set_id(req->apid,apid); + dlt_set_id(req->ctid,ctid); + req->log_level=traceStatus; + dlt_set_id(req->com,"remo"); + + /* free message */ + if (dlt_client_send_ctrl_msg(client,"APP","CON",payload,sizeof(DltServiceSetLogLevel))==-1) + { + free(payload); + return -1; + } + + free(payload); + + return 0; +} + int dlt_client_setbaudrate(DltClient *client, int baudrate) { if (client==0) |