1+ server .on ("/api/tx/bin" , [](){
2+ String api_binary = "" ;
3+ int api_txdelayus = txdelayus ;
4+ int api_txdelayms = txdelayms ;
5+ int prettify = 0 ;
6+ if (server .hasArg ("binary" )) {
7+ api_binary = (server .arg ("binary" ));
8+ }
9+ if (server .hasArg ("pulsewidth" )) {
10+ api_txdelayus = (server .arg ("pulsewidth" ).toInt ());
11+ }
12+ if (server .hasArg ("interval" )) {
13+ api_txdelayms = (server .arg ("interval" ).toInt ());
14+ }
15+ if (server .hasArg ("prettify" )) {
16+ prettify = 1 ;
17+ }
18+
19+ const size_t bufferSize = JSON_ARRAY_SIZE (4 ) + JSON_OBJECT_SIZE (4 );
20+ DynamicJsonBuffer jsonAPIbuffer (bufferSize );
21+ JsonObject & apitxbin = jsonAPIbuffer .createObject ();
22+
23+ apitxbin ["Device" ] = "ESP-RFID-Tool" ;
24+ apitxbin ["Firmware" ] = version ;
25+ apitxbin ["API" ] = APIversion ;
26+
27+ JsonObject & apitxbinary = apitxbin .createNestedObject ("Transmission" );
28+ apitxbinary ["Bit Count" ]= api_binary .length ();
29+ apitxbinary ["Binary" ]= api_binary ;
30+ apitxbinary ["Wiegand Data Pulse Width" ]= String ()+ api_txdelayus + "us" ;
31+ apitxbinary ["Wiegand Data Interval" ]= String ()+ api_txdelayms + "ms" ;
32+
33+ if (api_binary == "" ) {
34+ server .send (200 , "application/json" , F ("Binary to tx not specified." ));
35+ }
36+ else {
37+ String API_Response = "" ;
38+ if (prettify == 1 ) {
39+ apitxbin .prettyPrintTo (API_Response );
40+ }
41+ else {
42+ apitxbin .printTo (API_Response );
43+ }
44+ server .send (200 , "application/json" , API_Response );
45+ delay (50 );
46+ apiTX (api_binary ,api_txdelayus ,api_txdelayms );
47+ }
48+ jsonAPIbuffer .clear ();
49+ });
50+
151server .on ("/api/help" , [](){
252 String apihelpHTML = String ()+ F (
353 "<a href=\"/\"><- BACK TO INDEX</a><br><br>"
@@ -15,7 +65,10 @@ server.on("/api/help", [](){
1565 "<b><a href=\"/api/listlogs?prettify=1\">/api/listlogs</a></b><br>"
1666 "<small>Usage: [server]/api/listlogs</small><br>"
1767 "<br>"
18- "<b>Optional Arguments</b><br>"
68+ "<b><a href=\"/api/tx/bin?binary=0001&pulsewidth=40&interval=2&prettify=1\">/api/tx/bin</a></b><br>"
69+ "<small>Usage: [server]/api/tx/bin?binary=[binary]&pulsewidth=[delay_us]&interval=[delay_ms]</small><br>"
70+ "<br>"
71+ "<b>Universal Arguments</b><br>"
1972 "<small>Prettify: [api-url]?[args]<u>&prettify=1</u></small><br>"
2073 );
2174 server .send (200 , "text/html" , apihelpHTML );
0 commit comments