summaryrefslogtreecommitdiffstats
path: root/src/steering_wheel_json.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/steering_wheel_json.c')
-rw-r--r--src/steering_wheel_json.c62
1 files changed, 42 insertions, 20 deletions
diff --git a/src/steering_wheel_json.c b/src/steering_wheel_json.c
index 9d72284..5831983 100644
--- a/src/steering_wheel_json.c
+++ b/src/steering_wheel_json.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
+ * Copyright (c) 2017-2019 TOYOTA MOTOR CORPORATION
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
-#include "af-steering-wheel-binding.h"
+#include "wheel-service.h"
#include "steering_wheel_json.h"
#include "prop_info.h"
#include "prop_search.h"
@@ -33,6 +33,7 @@ static int parse_property(struct wheel_info_t *wheel_info, int idx, json_object
{
int var_type = 0;
char *name = NULL;
+ char *canid = NULL;
if(obj_property)
{
@@ -47,10 +48,30 @@ static int parse_property(struct wheel_info_t *wheel_info, int idx, json_object
const char *_varname = json_object_get_string(val);
var_type = string2vartype(_varname);
}
+ else if(strcmp("CANID", key) == 0)
+ {
+ canid = (char *)json_object_get_string(val);
+ }
+ else if(strcmp("BIT_POSITION", key) == 0)
+ {
+ const char * tmp = json_object_get_string(val);
+ wheel_info->property[idx].bit_pos = (uint8_t)strtoul(tmp, 0, 0);
+ }
+ else if(strcmp("BIT_SIZE", key) == 0)
+ {
+ const char * tmp = json_object_get_string(val);
+ wheel_info->property[idx].bit_size = (uint8_t)strtoul(tmp, 0, 0);
+ }
+ else if(strcmp("DLC", key) == 0)
+ {
+ const char * tmp = json_object_get_string(val);
+ wheel_info->property[idx].dlc = (uint8_t)strtoul(tmp, 0, 0);
+ }
}
wheel_info->property[idx].name = strdup(name);
wheel_info->property[idx].var_type = (unsigned char)var_type;
+ wheel_info->property[idx].can_id = strdup(canid);
}
return 0;
@@ -68,7 +89,7 @@ static int parse_propertys(json_object *obj_propertys)
wheel_info = malloc(ms);
if (wheel_info == NULL)
{
- ERRMSG("Not enogh memory");
+ DBG_ERROR("Not enogh memory");
return 1;
}
memset(wheel_info, 0 , ms);
@@ -82,7 +103,7 @@ static int parse_propertys(json_object *obj_propertys)
wheel_info = realloc(wheel_info, sizeof(struct wheel_info_t) + ((size_t)array_len * sizeof(struct prop_info_t)));
if (wheel_info == NULL)
{
- ERRMSG("not enogh memory");
+ DBG_ERROR("not enogh memory");
exit(1);
}
@@ -115,7 +136,7 @@ static int parse_json(json_object *obj)
else
{
++err;
- ERRMSG("json: Unknown key \"%s\"", key);
+ DBG_ERROR("json: Unknown key \"%s\"", key);
}
}
return err;
@@ -128,23 +149,23 @@ int wheel_define_init(const char *fname)
struct stat stbuf;
char *filebuf;
- fd_wheel_map = afb_daemon_rootdir_open_locale(fname, O_RDONLY, NULL);
+ fd_wheel_map = open(fname, O_RDONLY);
if (fd_wheel_map < 0)
{
- ERRMSG("wheel map is not access");
+ DBG_ERROR("wheel map is not access");
return -1;
}
FILE *fp = fdopen(fd_wheel_map,"r");
if (fp == NULL)
{
- ERRMSG("canno read wheel map file");
+ DBG_ERROR("cannot read wheel map file");
return -1;
}
if (fstat(fd_wheel_map, &stbuf) == -1)
{
- ERRMSG("cant get file state");
+ DBG_ERROR("cant get file state");
return -1;
}
@@ -155,7 +176,7 @@ int wheel_define_init(const char *fname)
jobj = json_tokener_parse(filebuf);
if (jobj == NULL)
{
- ERRMSG("cannot data from file \"%s\"",fname);
+ DBG_ERROR("cannot read data from file \"%s\"",fname);
free(filebuf);
return 1;
}
@@ -183,7 +204,7 @@ static int parse_gear_para_json(json_object *obj)
if (type == json_type_array)
{
int array_len = json_object_array_length(val);
- NOTICEMSG("array_len:%d!", array_len);
+ DBG_NOTICE("array_len:%d!", array_len);
for (int i = 0; i < array_len; i++)
{
obj_speed_para = json_object_array_get_idx(val, i);
@@ -236,12 +257,12 @@ static int parse_gear_para_json(json_object *obj)
}
else
{
- ERRMSG("json: Need array \"%s\"", key);
+ DBG_ERROR("json: Need array \"%s\"", key);
}
}
else
{
- ERRMSG("json: Unknown key \"%s\"", key);
+ DBG_ERROR("json: Unknown key \"%s\"", key);
}
}
return err;
@@ -254,23 +275,24 @@ int wheel_gear_para_init(const char *fname)
struct stat stbuf;
char *filebuf;
- fd_gear_para = afb_daemon_rootdir_open_locale(fname, O_RDONLY, NULL);
+// fd_gear_para = afb_daemon_rootdir_open_locale(fname, O_RDONLY, NULL);
+ fd_gear_para = open(fname, O_RDONLY);
if (fd_gear_para < 0)
{
- ERRMSG("gear para is not access");
+ DBG_ERROR("gear para is not access");
return -1;
}
FILE *fp = fdopen(fd_gear_para,"r");
if (fp == NULL)
{
- ERRMSG("canno read gear para file");
+ DBG_ERROR("cannot read gear para file");
return -1;
}
if (fstat(fd_gear_para, &stbuf) == -1)
{
- ERRMSG("cant get file state.\n");
+ DBG_ERROR("cant get file state.\n");
return -1;
}
@@ -281,7 +303,7 @@ int wheel_gear_para_init(const char *fname)
jobj = json_tokener_parse(filebuf);
if (jobj == NULL)
{
- ERRMSG("cannot data from file \"%s\"",fname);
+ DBG_ERROR("cannot data from file \"%s\"",fname);
free(filebuf);
return 1;
}
@@ -326,13 +348,13 @@ struct json_object *property2json(struct prop_info_t *property)
break;
default:
- ERRMSG("Unknown value type:%d", property->var_type);
+ DBG_ERROR("Unknown value type:%d", property->var_type);
break;
}
if (valueObject == NULL)
{
- ERRMSG("fail json ValueObject");
+ DBG_ERROR("fail json ValueObject");
json_object_put(jobj);
return NULL;
}