void sgets(char* p)
{
int c;
while ((c = getchar()) != '\n') {
*p++ = (char)c;
}
*p = '\0';
}
Device* create_device()
{
Device *dp = (Device*)malloc(sizeof(Device));
static char device_name[256];
dp->protocol = "ethercat";
printf("Device name: ");
sgets(device_name);
dp->name = device_name;
printf("masterIndex: ");
scanf("%d", &dp->masterIndex);
printf("alias: ");
scanf("%d", &dp->alias);
printf("position: ");
scanf("%d", &dp->position);
printf("vendorID: ");
scanf("%d", &dp->vendorID);
printf("productCode: ");
scanf("%d", &dp->productCode);
printf("revisionNo: ");
scanf("%d", &dp->revisionNo);
printf("serialNo: ");
scanf("%d", &dp->serialNo);
return dp;
}
int main(void)
{
Device *dp = create_device();
const char* filename = "test2.json";
json_object *root = json_object_new_object();
if (!root)
return 1;
json_object *connectedDevices = json_object_new_object();
json_object_object_add(root, "connectedDevices", connectedDevices);
printf("connected devices sorun yok\n");
json_object *ethercat = json_object_new_array();
json_object_object_add(connectedDevices, "ethercat", ethercat);
printf("ethercat sorun yok\n");
json_object *master0 = json_object_new_array();
json_object_array_add(ethercat, master0);
json_object *master1 = json_object_new_array();
json_object_array_add(ethercat, master1);
printf("master1 sorun yok\n");
json_object *deviceObjects[6];
for (int i = 0; i < 5; ++i) {
deviceObjects[i] = json_object_new_object();
json_object_object_add(deviceObjects[i], "deviceName", json_object_new_string(dp->name));
json_object_object_add(deviceObjects[i], "alias", json_object_new_int(dp->alias));
json_object_object_add(deviceObjects[i], "position", json_object_new_int(dp->position));
json_object_object_add(deviceObjects[i], "vendorID", json_object_new_int(dp->vendorID));
json_object_object_add(deviceObjects[i], "productCode", json_object_new_int(dp->productCode));
json_object_object_add(deviceObjects[i], "revisionNo", json_object_new_int(dp->revisionNo));
json_object_object_add(deviceObjects[i], "serialNo", json_object_new_int(dp->serialNo));
json_object_array_add(master0, deviceObjects[i]);
}
deviceObjects[5] = json_object_new_object();
json_object_object_add(deviceObjects[5], "deviceName", json_object_new_string(dp->name));
json_object_object_add(deviceObjects[5], "alias", json_object_new_int(dp->alias));
json_object_object_add(deviceObjects[5], "position", json_object_new_int(dp->position));
json_object_object_add(deviceObjects[5], "vendorID", json_object_new_int(dp->vendorID));
json_object_object_add(deviceObjects[5], "productCode", json_object_new_int(dp->productCode));
json_object_object_add(deviceObjects[5], "revisionNo", json_object_new_int(dp->revisionNo));
json_object_object_add(deviceObjects[5], "serialNo", json_object_new_int(dp->serialNo));
json_object_array_add(master1, deviceObjects[5]);
if (json_object_to_file(filename, root))
printf("Error: failed to save %s!!\n", filename);
else
printf("%s saved\n", filename);
json_object_put(root);
return 0;
}
"connectedDevices": {
"ethercat": [
[
{
"deviceName": "necdet",
"alias": 0,
"position": 0,
"vendorID": 0,