added individual solenoid deactivation time

This commit is contained in:
Jonas Zeunert
2018-12-11 15:05:47 +01:00
parent f1bb186faa
commit 838d3227c6
4 changed files with 39 additions and 34 deletions

View File

@@ -8,7 +8,8 @@
}, },
{ {
"address" : 88, "address" : 88,
"name" : "Out Hole" "name" : "Out Hole",
"deactivation_time_milliseconds" : 15
}, },
{ {
"address" : 91, "address" : 91,

View File

@@ -3,147 +3,147 @@
"sounds" : "sounds" :
[ [
{ {
"id:": 0, "id" : 0,
"address" : "22", "address" : "22",
"description" : "Sound 1" "description" : "Sound 1"
}, },
{ {
"id:": 1, "id" : 1,
"address" : "23", "address" : "23",
"description" : "Sound 2" "description" : "Sound 2"
}, },
{ {
"id:": 2, "id" : 2,
"address" : "24", "address" : "24",
"description" : "Sound 3" "description" : "Sound 3"
}, },
{ {
"id:": 3, "id" : 3,
"address" : "25", "address" : "25",
"description" : "Sound 4" "description" : "Sound 4"
}, },
{ {
"id:": 4, "id" : 4,
"address" : "26", "address" : "26",
"description" : "Sound 5" "description" : "Sound 5"
}, },
{ {
"id:": 5, "id" : 5,
"address" : "27", "address" : "27",
"description" : "Sound 6" "description" : "Sound 6"
}, },
{ {
"id:": 6, "id" : 6,
"address" : "28", "address" : "28",
"description" : "Sound 7" "description" : "Sound 7"
}, },
{ {
"id:": 7, "id" : 7,
"address" : "29", "address" : "29",
"description" : "Sound 8" "description" : "Sound 8"
}, },
{ {
"id:": 8, "id" : 8,
"address" : "30", "address" : "30",
"description" : "Sound 9" "description" : "Sound 9"
}, },
{ {
"id:": 9, "id" : 9,
"address" : "31", "address" : "31",
"description" : "Sound 10" "description" : "Sound 10"
}, },
{ {
"id:": 10, "id" : 10,
"address" : "32", "address" : "32",
"description" : "Sound 11" "description" : "Sound 11"
}, },
{ {
"id:": 11, "id" : 11,
"address" : "33", "address" : "33",
"description" : "Sound 12" "description" : "Sound 12"
}, },
{ {
"id:": 12, "id" : 12,
"address" : "34", "address" : "34",
"description" : "Sound 13" "description" : "Sound 13"
}, },
{ {
"id:": 13, "id" : 13,
"address" : "35", "address" : "35",
"description" : "Sound 14" "description" : "Sound 14"
}, },
{ {
"id:": 14, "id" : 14,
"address" : "36", "address" : "36",
"description" : "Sound 15" "description" : "Sound 15"
}, },
{ {
"id:": 15, "id" : 15,
"address" : "37", "address" : "37",
"description" : "Sound 16" "description" : "Sound 16"
}, },
{ {
"id:": 16, "id" : 16,
"address" : "38", "address" : "38",
"description" : "Sound 17" "description" : "Sound 17"
}, },
{ {
"id:": 17, "id" : 17,
"address" : "39", "address" : "39",
"description" : "Sound 18" "description" : "Sound 18"
}, },
{ {
"id:": 18, "id" : 18,
"address" : "40", "address" : "40",
"description" : "Sound 19" "description" : "Sound 19"
}, },
{ {
"id:": 19, "id" : 19,
"address" : "41", "address" : "41",
"description" : "Sound 20" "description" : "Sound 20"
}, },
{ {
"id:": 20, "id" : 20,
"address" : "42", "address" : "42",
"description" : "Sound 21" "description" : "Sound 21"
}, },
{ {
"id:": 21, "id" : 21,
"address" : "43", "address" : "43",
"description" : "Sound 22" "description" : "Sound 22"
}, },
{ {
"id:": 22, "id" : 22,
"address" : "44", "address" : "44",
"description" : "Sound 23" "description" : "Sound 23"
}, },
{ {
"id:": 23, "id" : 23,
"address" : "45", "address" : "45",
"description" : "Sound 24" "description" : "Sound 24"
}, },
{ {
"id:": 24, "id" : 24,
"address" : "46", "address" : "46",
"description" : "Sound 25" "description" : "Sound 25"
}, },
{ {
"id:": 25, "id" : 25,
"address" : "47", "address" : "47",
"description" : "Sound 26" "description" : "Sound 26"
}, },
{ {
"id:": 26, "id" : 26,
"address" : "48", "address" : "48",
"description" : "Sound 27" "description" : "Sound 27"
}, },
{ {
"id:": 27, "id" : 27,
"address" : "49", "address" : "49",
"description" : "Sound 28" "description" : "Sound 28"
}, },
{ {
"id:": 28, "id" : 28,
"address" : "50", "address" : "50",
"description" : "Speech 1: \"You're good! But I'm still the Champ!\"" "description" : "Speech 1: \"You're good! But I'm still the Champ!\""
} }

View File

@@ -161,6 +161,12 @@ std::shared_ptr<items::Solenoid> create_solenoid(nlohmann::json &solenoid_json,
{ {
std::string name = solenoid_json.at("name"); std::string name = solenoid_json.at("name");
auto address = solenoid_json.at("address").get<uint8_t>(); auto address = solenoid_json.at("address").get<uint8_t>();
if(solenoid_json.find("deactivation_time_milliseconds") != solenoid_json.end())
{
deactivation_time = get_deactivation_time(solenoid_json);
}
return std::make_shared<items::Solenoid>(output_gpio_interface, address, name, deactivation_time); return std::make_shared<items::Solenoid>(output_gpio_interface, address, name, deactivation_time);
} }
catch(json::type_error &e) catch(json::type_error &e)
@@ -188,9 +194,9 @@ std::shared_ptr<items::Sound> create_sound(nlohmann::json &sound_json, std::shar
try try
{ {
auto id = sound_json.at("id").get<uint>(); auto id = sound_json.at("id").get<uint>();
std::string name = sound_json.at("name"); std::string description = sound_json.at("description");
auto address = sound_json.at("address").get<uint8_t>(); auto address = sound_json.at("address").get<uint8_t>();
return std::make_shared<items::Sound>(output_gpio_interface, address, name, deactivation_time, id); return std::make_shared<items::Sound>(output_gpio_interface, address, description, deactivation_time, id);
} }
catch(json::type_error &e) catch(json::type_error &e)
{ {

View File

@@ -16,5 +16,3 @@
#define INPUT_SLEEP_DURATION_NANO 800 #define INPUT_SLEEP_DURATION_NANO 800
#define PULLDOWN false #define PULLDOWN false
#define VALID_DISPLAY_CHARACTERS [1,2,3,4,5,6,7,8,9,0,\0]