584 Commits
v1.0 ... master

Author SHA1 Message Date
4769f57f07 avoid opposite cmd scheduling for no-suffix-group cmd 2025-08-31 00:50:09 +03:00
2c601b2c03 input fix for mixed configs & repeat flag, comments 2025-08-23 23:26:05 +03:00
5294617455 Fake "alarm off" event for legacy thermostat fixed
scheduled execution fixed
Aircon  driver relability improvement (working on 1-way lines)
2025-08-11 23:44:58 +03:00
d71499442e Important Input re-intrance bug fixed
Haier AC relability improved (buffer not save if incoming packet broken)
CAN - sub-item calculation fixed
continue working on MultiAC
config for LH board testing shared
2025-06-26 14:07:23 +03:00
9989e3db21 Multivent->MultiAC alpha
MEGA env migrated to universal Wiznet driver
some important core fixes
2025-05-11 23:50:32 +03:00
53c5748c14 AC CRC fix
syslog auto suspending when no ARP responce
optiboot env slimming
generic 2560 environment (any eth)
2025-05-02 00:45:49 +03:00
5480412f1b Merge branch 'master' of https://github.com/anklimov/lighthub 2025-05-01 20:34:00 +03:00
575e05cd84 RE optional 2025-05-01 20:31:31 +03:00
AnK
d6768ab594 bins 2025-04-30 01:35:23 +03:00
AnK
8754a35cba cross compilation 2025-04-30 01:14:55 +03:00
65c07a1881 group scheduling reworked 2025-04-28 22:26:36 +03:00
c2c863b8bd "activate" cmd to switch RE sections by other INs 2025-04-28 01:13:09 +03:00
5aec014767 Driver refactoring & core fixes
CAN fixes and extension
stm32 timer
2025-04-26 16:29:09 +03:00
c9714ef982 Rotary Encoder - chaning config section
input - regress fix
MBUS - logginng fix
2025-04-19 23:25:39 +03:00
2b5b780586 some Cleanup
Mbus logging fix
Rotary Encoder input (1-st success^ to be continued)
new JSON routines
Multivent to Multi AC - interim, to be continued
2025-04-14 00:45:38 +03:00
e803d1ae51 mapping val bondaries added
timer tuning
more logging to thermostat & map
MBUS chan stop if not configured well
2025-04-06 22:46:44 +03:00
6cba90f7dd timer refactoring
INCREASE/DECREASE postref fix
mbus write if not configured corruption fixed
2025-03-20 00:33:18 +03:00
6019aa41bb MBUS refactoring,
AC Haier tolerance for comm errors(CRC check),
MERCURY - not blocking MBUS if failed (delay added if login fail)
Kernel fixes (flags, Locks)
Multivent to multichannel virtual AC converted (interim)
PID library forked and changed
2025-01-22 02:18:25 +03:00
891b029501 less CAN logging
DISABLE for group channel (disarming) reguire signature
trace level logging fixed
esp32 = changed compilation options
2024-11-04 22:48:50 +03:00
fae1bd4dcc pre-rel bins 2024-08-23 18:59:58 +03:00
e5e24943a6 critical relability fix 2024-08-23 18:35:39 +03:00
f672878873 pre-release-binaries 2024-08-23 00:30:59 +03:00
ff8997fb02 post-refactoring fixes: $command, Items-Parse 2024-08-23 00:12:12 +03:00
96a9c59add nrf bin 2024-08-22 00:56:21 +03:00
7759d51b31 Cross comp & binaries 2024-08-22 00:55:31 +03:00
e21541aa7a cleanup and odd cleanConf fix 2024-08-22 00:35:47 +03:00
806e99eb92 NO-IP devices persistence
STM Flash cfg fix
 CAN GROUP chan fix
 CRC16 fix
2024-08-21 14:01:06 +03:00
2b638b1310 MQTT->CAN proxy. CRC16 for CAN config 2024-08-19 22:35:20 +03:00
82f729216e mapping constrain fix & more mbus relability 2024-08-16 21:41:13 +03:00
dc6e310b10 MBUS fix for requrent def# reg less main reg
Now it can working for empty action for def# reg
2024-08-15 00:36:14 +03:00
baad75fde7 bins 2024-08-14 20:04:11 +03:00
7040d9bf93 MBUS no write if prefetched value == target
Removed constrain 255 for mapping
2024-08-14 19:43:24 +03:00
0a4e70479b Modbus attempts counter reset & silence timer fix 2024-08-14 00:00:22 +03:00
ff77818e30 Binaries & cross compilation 2024-08-11 21:07:44 +03:00
86c0515c46 CAN NOIP config load fix 2024-08-11 20:53:39 +03:00
293429d3a3 CAN driver - complete& working now 2024-08-11 19:13:42 +03:00
01ba615db8 mbus fix & binaries 2024-08-01 22:09:46 +03:00
1bfd2d98ef MODBUS: prefetch option for write reg (check-before-write),
AC: suppressing garbage status after CMD,
PID: NOT_FILTER_PID_OUT for repeating values^ by default
2024-08-01 20:19:33 +03:00
c8c7356fae DEFAULT_OTA_USERNAME DEFAULT_OTA_PASSWORD
compilation options
new 16u2 firmware
2024-05-20 01:22:02 +03:00
5b5e6e3d6a Ultrasonic sensor added
CAN driver logic/relability  improved
string -> itemCmd functionality added,
cold boot w/o config procedure improved
2024-04-12 11:00:42 +03:00
4fff338482 CAN DUE, relative items, CAN-MQTT brige 2024-03-30 08:29:53 +03:00
242db1552e Working with multiply MQTT brokers 2024-03-11 01:09:53 +03:00
0770e32b31 CAN driver v1 ESP&STM 2024-03-07 00:52:33 +03:00
535e1be274 CAN: config retrieving from master 2024-03-02 15:48:21 +03:00
3c9e30b28a STM32 chipId and 1st CAN driver prototype 2024-02-22 21:58:07 +03:00
1133883b25 NOIP compilation option & some inits 2024-02-19 16:07:13 +03:00
e7dfee51b1 Update README.md 2024-01-29 00:48:12 +03:00
9eb22f4ea9 Update README.md 2024-01-29 00:47:05 +03:00
09831781aa bins 2024-01-28 16:27:01 +03:00
340d54be09 sync 2024-01-28 16:20:45 +03:00
bcae3c9d50 artnet hung, sensors loop, inputs, multivent 2024-01-28 16:19:45 +03:00
1654f05bbe lh21 bins 2024-01-28 15:12:35 +03:00
99466f6e9f bins & cross-compilation 2024-01-28 15:10:56 +03:00
05ea031977 PID out, less logs, GET cfg fix, mbus concurr wrte 2024-01-28 12:05:10 +03:00
5ec57f0414 GET cmd refactored to operate in safe time 2024-01-27 15:03:11 +03:00
7ab78ab2ae binaries 2023-11-23 17:05:50 +03:00
4d909dd449 DMX IN integration with items 2023-11-20 20:55:37 +03:00
Климов Андрей Николаевич
b3db766b1a post-refactoring fix (Mercury) 2023-11-20 14:58:56 +03:00
080cdd4e22 LOG cleaning 2023-11-20 13:50:14 +03:00
91d5acf619 pre-release bins 2023-11-20 01:23:58 +03:00
454b88fbbf DMX IN fix (rollback to 2021) 2023-11-20 01:13:25 +03:00
6e283e32db decrease Timer0 int priority 2023-11-19 13:47:48 +03:00
18fbc783b5 templates, I2C/1Wire reset tune, bins 2023-11-18 00:57:12 +03:00
Климов Андрей Николаевич
5235bb67c1 timed command fx 2023-11-17 17:45:45 +03:00
9683e51c18 subitem retrieve fix, new loglev 9 for mbus trace 2023-11-15 11:02:53 +03:00
fd65c1a3a1 remove old stuff, templates for Emit strings 2023-11-12 23:21:11 +03:00
90298cd5a3 modbus 8N1 2023-11-12 16:36:35 +03:00
5719ba209a bins 2023-11-12 01:31:45 +03:00
2e21362fd8 I2C autoreset, driver status refactor, VC_TEMP fix 2023-11-12 01:04:53 +03:00
fe054c3c4e i2c reset utility 2023-11-09 09:48:51 +03:00
e3d84a1a02 binaries & migration 2560 slim to universal Wiznet 2023-11-07 21:02:40 +03:00
ca457a2a05 1w,MBUSv1,inputs resp fixes. update libs! 2023-11-07 19:37:19 +03:00
6d4f76c642 Multitask & 1-wire optimzation, sensor fixes 2023-11-07 01:48:48 +03:00
7251e229b6 pre-release bin & small fixes 2023-10-31 15:20:54 +03:00
Климов Андрей Николаевич
e9355ef142 modbus v2 fix 2023-10-31 00:13:09 +03:00
Климов Андрей Николаевич
7836876fcd crosscompilation fix 2023-10-30 20:36:30 +03:00
Климов Андрей Николаевич
8e7bbee96a Merge branch 'master' of https://github.com/anklimov/lighthub 2023-10-30 20:12:26 +03:00
Климов Андрей Николаевич
456f6b8ad4 modbus v1 retry optimisation 2023-10-30 20:12:16 +03:00
c4af5e92f9 Update README.md 2023-10-30 14:33:44 +03:00
Климов Андрей Николаевич
896a22862f 1-wire errors/reset improved, cleaned up 2023-10-30 00:00:11 +03:00
Климов Андрей Николаевич
83e8639034 Merge branch 'master' of https://github.com/anklimov/lighthub 2023-10-29 15:36:51 +03:00
Климов Андрей Николаевич
256ab175ce 1-w refactoring 2023-10-29 15:36:04 +03:00
199a80cbb9 pre-release binaries, all archs 2023-10-25 01:28:58 +03:00
Климов Андрей Николаевич
9204bd0898 +counter to Mega slim 2023-10-25 00:52:49 +03:00
Климов Андрей Николаевич
df4bf02e8d Merge branch 'master' of https://github.com/anklimov/lighthub 2023-10-25 00:29:14 +03:00
Климов Андрей Николаевич
45d925ba88 pins protection,core fixes for grp ch stat& sched 2023-10-25 00:28:26 +03:00
0a3bbcd7f9 binaries 2023-10-23 21:57:41 +03:00
Климов Андрей Николаевич
1e58ad90eb config reload issues fixed 2023-10-23 21:34:17 +03:00
a0ad782257 Update README.md 2023-10-21 22:55:33 +03:00
65556ed39d Update README.md 2023-10-21 22:19:57 +03:00
7bf685a0d4 cross-compiled & binaries 2023-10-21 21:52:57 +03:00
Климов Андрей Николаевич
f6a57348eb text chan types, comp options, counter fixed 2023-10-21 21:06:00 +03:00
Климов Андрей Николаевич
e93e52702e XNova CRYPT,SHAREDSECRET,PROTECTED_PINS,PULSEPIN12 2023-10-08 17:43:30 +03:00
Климов Андрей Николаевич
6cd4f1d82a mbus coils, discr inputs, new logic. AC - feedback 2023-08-13 23:49:35 +03:00
Климов Андрей Николаевич
3907158437 mac save&AC swmode fixes, sha256 sign for cmd tst 2023-07-16 20:29:59 +03:00
Климов Андрей Николаевич
eb68556012 STM32 persistent MVP, cross-compiled & binaries 2023-05-06 02:53:01 +03:00
Климов Андрей Николаевич
30f7b36a9c Multi-AC 2023-04-10 19:19:45 +03:00
Климов Андрей Николаевич
927272824c counter fix 2023-04-10 00:01:20 +03:00
Климов Андрей Николаевич
bab472d2d1 JSON RAM optimization (update libs needed), HTTP 2023-04-09 21:37:37 +03:00
Климов Андрей Николаевич
ec306c4934 Cumulative changes/pre-release 2023-04-02 17:27:02 +03:00
Климов Андрей Николаевич
3e0566cf07 ENABLE & DISABLE to separate topic and XON timer 2023-01-30 01:10:34 +03:00
Климов Андрей Николаевич
86d0d784a0 Mercury electricity counter driver, refactoring 2023-01-29 12:33:22 +03:00
Климов Андрей Николаевич
b06dad9395 noSerial option, DHT fix, 8266 slim to fit Sonoff 2022-12-16 17:14:59 +03:00
a974290389 Complex MBUS mapping, PID fix 2022-12-04 03:19:07 +03:00
2da04b45bf PID fixes/improvements and MBUS improvements 2022-11-28 14:57:43 +03:00
724eabc22f API CORS = * 2022-11-24 02:00:20 +03:00
c70a4eaac9 bin flash update fix (after revorking) & bins 2022-11-22 01:01:47 +03:00
a956b6f8e2 RAM optim to save huge configs to flash, PID min/max 2022-11-19 23:30:02 +03:00
07688f53ae core fixes (int & tens val<1), mbus optimization 2022-11-05 16:40:31 +03:00
6d28cb9f34 null mapping fix 2022-11-01 01:48:01 +03:00
d7e93177d6 possibility to turn val mapping off ("val":null) 2022-11-01 00:49:54 +03:00
c23543b213 PID & Modbus fine tuning 2022-10-31 23:56:51 +03:00
b94ab723ee modbus negative register fix 2022-10-13 08:22:06 +03:00
39cfb42307 Cross compilation fixes (esp) & binaries 2022-10-04 01:37:47 +03:00
891701cee1 Modbus mapping, AC swing, vent, pwm relay fix 2022-10-02 19:31:18 +03:00
a17ea0bad7 core fixes, modbus, ac, pre-mapping, bins 2022-06-04 22:04:54 +03:00
64eea07d78 ModbusTCP&UDP option (-D IPMODBUS) 2022-05-10 13:23:17 +03:00
12487b871e dimming fix, RAM overflow on config save 2022-05-07 00:22:18 +03:00
Климов Андрей Николаевич
23cd2a2139 compilation fix 2022-04-23 21:24:10 +03:00
81edb7f86e core fixes 2022-04-22 14:51:43 +03:00
Климов Андрей Николаевич
4c80f435e5 Poll() refactoring, PWM fix, Hum preparation 2022-04-15 00:05:44 +03:00
b3af9865c7 Сounter mod, core & modbus tuned for 1/100th prec 2022-04-06 10:21:39 +03:00
9bf3d561bd MBus channel module - write register implemented 2022-02-25 02:46:27 +03:00
782d353478 Fixed interferention with homie $ contained topics 2022-02-17 02:04:16 +03:00
d207ef23d3 update 2022-02-16 21:42:07 +03:00
3b66ecb2cb MQTT message loop fixed 2022-02-16 14:46:50 +03:00
20bdbac8c5 Ctrl retcodes - move some to positive values 2022-02-14 02:14:39 +03:00
b79d873629 binaries 2022-02-14 01:45:15 +03:00
32e7dbd730 remove topics on complete, homie fixed, deflt name 2022-02-14 01:32:46 +03:00
d30591d9f7 cleanUp persistance of command topics (update libs 2022-02-13 18:47:40 +03:00
fc8b04ac9b AirCon, OpenHab, Relay status fixed& interop 2022-01-29 03:33:29 +03:00
d76867063e extra space MQTT starus payload removed 2022-01-27 03:52:56 +03:00
c7d1bc65c0 PID alarm redisign & airset termostat cmd compat 2022-01-27 02:37:00 +03:00
b7c6eaaff1 Remove wrong space- MQTT payload, more memory ctrl 2022-01-21 01:01:46 +03:00
2b3c77bf03 PID regulator alarm fix 2022-01-09 11:22:32 +03:00
a7f5c67ab2 PID regulatior init fix 2022-01-07 12:56:01 +03:00
07046680e0 doxigen docs 2022-01-06 02:01:16 +03:00
6fe28695f2 bins recompiled 2022-01-06 01:22:16 +03:00
70ccf9f1c9 Print compilation option 2022-01-06 01:12:35 +03:00
fbdf400a2b re-compilation after merge 2022-01-05 12:52:10 +03:00
5227182dd8 Merging from develop 2022-01-05 12:28:19 +03:00
4a75a60dc4 Merge branch 'develop'
CORE changes:

CORE refactored.
Config persistence (saving parameters & config) - now working for Mega, DUE, ESP8266, ESP32.
Config auto-saving to flash on portal changes (http ETAG supported to version control).
HTTP API & tiny web interface (external by CORS)
MDNS controller announcing
Local config changing by web
Delayed commands (/del suffix)
NO_MQTT option
input polling on timer interrupts (DUE)
Device driver changes

PID regulator (13 type)
Relay PWM thermostat (16 type)
RGBWW channel type (17 type) & color temperature set
Legacy modbus (4 type) improvement (retry speedup, mask = 3 & 4 for swap hi & lo bytes)
Multivent driver (18 type)
UART bridge (15 type) (serial protocol interceptor) - wireshark udpdump compatible
Artnet - to DMX configuration (channel range to pass throw)
PWM driver (3 type) - RBGW compatible
Misc

flashing scripts for DUE
Platformio target for OTA (invoke OTA scripts from custom_builds)
Clean-up & optimisation
2022-01-05 12:09:40 +03:00
4a5f219fec Merging with master 2022-01-05 12:08:59 +03:00
410c79a78e Merge branch 'develop' of https://github.com/anklimov/lighthub into develop 2022-01-04 20:37:52 +03:00
d5aa9f5ac6 PRE-RELEASE artnet fix & binaries 2022-01-04 20:37:45 +03:00
Климов Андрей Николаевич
302a03e274 FW upload scripts 2022-01-04 00:13:54 +03:00
1ce769de92 mdns leak fix 2022-01-03 21:59:14 +03:00
ac9ed03fe5 bin 2022-01-03 21:58:27 +03:00
f60b8188dc bin 2022-01-03 21:37:52 +03:00
0c3108c620 Socket (syslog,artnet) optim. Relay pwm thermo fix 2022-01-03 20:42:46 +03:00
1316835cad PID&Relays field tests & debug 2021-12-29 20:25:49 +03:00
bc867d0de0 optiboot ota fix & ac driver ram optimization 2021-12-29 02:51:03 +03:00
c03821e94a PID+PWM relay thermostat, init from flash fixed 2021-12-29 02:06:52 +03:00
c67bab2173 MDNS ESP8266 fix 2021-12-26 15:49:34 +03:00
2779c9f7d5 platformio.ini OTA cleaned OTA(moved to ota target 2021-12-26 14:34:33 +03:00
12fe7ea71e PreRelease+bin. Persistant&Config mgmt done+fixes 2021-12-26 01:41:56 +03:00
184abef5a4 OW_DEVICES_LIMIT option 2021-12-25 13:24:53 +03:00
44d0568267 Mega2560slim RAM optimization 2021-12-22 01:50:40 +03:00
6cd4e5dbea API PORT 80, AVR HTTP ETAG, Compiled for all, bins 2021-12-20 02:17:02 +03:00
c185de3f26 binaries (part) 2021-12-19 19:11:45 +03:00
2e5c7d8045 STABILITY when re-load, Artnet, RGBWW, ETAG, Logs 2021-12-19 18:33:54 +03:00
201f492e29 ETAG control for http client 2021-11-05 02:26:50 +03:00
2ee8ad5ab6 stm fix & bin 2021-11-01 02:19:34 +03:00
ce3571fc75 Multiplatform compilation fix & binaries 2021-11-01 02:08:24 +03:00
3b92723ee3 ESP persist fix, closing files, RGBWW 2021-11-01 01:52:40 +03:00
8dd0b57f72 ESPx evolution (interim) - MDNS 2021-10-20 01:27:42 +03:00
99e9c1a27a fix dependance CmdArduino to old compatible ver 2021-10-14 22:22:24 +03:00
4e22a8f22d ESP8266 persistance/compilation fixes 2021-10-14 22:17:07 +03:00
ff35636a18 fix linux compilation issue 2021-10-13 13:01:01 +03:00
root
a7dac3310f linux compilation fix 2021-10-13 12:52:32 +03:00
bf76a5c23c core - group channel toggle, set_with_on fix, mdns 2021-10-13 12:27:56 +03:00
9bfaca7898 - 2021-10-11 01:35:37 +03:00
1e682ea8f3 PWA redirection & local 2021-10-11 00:52:05 +03:00
7e14e7143c web control/CORS (interim) 2021-10-09 02:12:38 +03:00
f96f125fe6 binaries 2021-10-08 01:58:30 +03:00
034319ed67 conf save fixed, group chann polling. tested 2021-10-08 01:44:12 +03:00
196e34266a violation while stop chans 2021-10-08 00:00:27 +03:00
0da8708327 Merge pull request #60 from anklimov/persitense-refactoring
Persitense refactoring merge
2021-10-07 23:58:35 +03:00
a28def023e Merge branch 'develop' 2021-10-07 23:41:48 +03:00
43bddffcea get, load and mdns fix 2021-10-07 23:23:33 +03:00
80fe47bd33 flash read fix 2021-10-06 18:21:59 +03:00
35e51c6a94 Merge pull request #59 from anklimov/develop
sync to Develop branch
2021-10-06 01:09:11 +03:00
88217b524c Merge branch 'persitense-refactoring' into develop 2021-10-06 01:08:30 +03:00
74cea9c6e3 Refactoring complete 2021-10-05 22:46:57 +03:00
2946409896 interim (compiled) commit 2021-10-05 03:44:31 +03:00
3df1eb1cc5 NoMQTT mode, float config val, small fixes 2021-10-04 18:53:32 +03:00
a9bcba3d7c restart on MQTT err fix, Float storage & RAW fix 2021-09-22 01:03:57 +03:00
f22e84a6db begin refactoring persist, no_MQTT, nullCfg 2021-09-19 23:32:34 +03:00
7fce2b34b2 more persitance all MPU, RESTORE bug fixed 2021-09-10 23:40:42 +03:00
6485833f7d pre-release, save2flash, mdns bugs, dmx, ..... 2021-08-29 02:46:21 +03:00
56a8c5c80b group channel status after halt & xoff fix 2021-08-24 00:32:12 +03:00
09fa78b0c8 input handle improved, +stm env -2due envs 2021-08-22 23:02:15 +03:00
bbf8f4d46e Refactored core fix 2021-08-21 03:06:41 +03:00
674a438bde core refactored (Alpha) 2021-08-17 19:40:03 +03:00
8e96b4623f doubleclick fix & TIMER_INT compiler option 2021-08-02 12:36:26 +03:00
64a2bb7eea Timer re-interability fix 2021-07-31 22:01:35 +03:00
c2815a2d00 config reload fix (caused by timer) 2021-07-30 03:30:07 +03:00
8f88df5739 input pulling on HW Timer (DUE) 2021-07-30 02:21:54 +03:00
256ca471fc Cross-compilation cleanup for all platforms + bins 2021-07-28 13:44:05 +03:00
a8b64e5f03 Merge branch 'master' of https://github.com/anklimov/lighthub 2021-07-27 21:35:09 +03:00
39d876be96 Compil. fix with updated libs, CRIT locks leak fix 2021-07-27 21:34:55 +03:00
aa827b8119 - 2021-07-24 13:28:31 +03:00
5888931870 http API with CORS (interim) 2021-07-24 12:18:58 +03:00
7967897318 Compiled BINs 2021-07-06 00:24:47 +03:00
36a7242a60 EEPROM refactoring& http API. Mega&due tested 2021-07-06 00:21:26 +03:00
32eacaeb07 esp32 fix 2021-06-19 01:50:42 +03:00
c2fead7ac5 uartBridge refactored & cross-compiled. new Mega dev 2021-06-17 02:46:18 +03:00
3ac5480735 OTA utils upd for data & ESP, compilation fix ESP 2021-06-13 14:01:43 +03:00
50cec6abf7 locks leak (Critical), config OTA (interim) 2021-06-12 22:29:56 +03:00
7862dfea81 critical fix! 2021-06-12 03:19:41 +03:00
2f398df8aa UART interceptor now is compatible with Whireshark 2021-06-07 15:44:39 +03:00
5eae1b1838 MB feedback fix, +uartbridge, modbus pins/ESP32 2021-05-24 02:39:30 +03:00
473256d591 delayed command & some mbus optimization 2021-05-16 03:19:23 +03:00
48a5e8fd31 Modbus speedup update2 2021-05-15 16:28:48 +03:00
bb65782ad0 modbus speedup update 2021-05-15 15:47:28 +03:00
264b61e7e6 SpeedUp legacy modbus writes if busy 2021-05-15 15:17:53 +03:00
9ae6d9991e Minimum ON volume for modbus dim, mask type=3 fix 2021-05-08 11:36:18 +03:00
d219a594c5 modbus mask==3 : incremented value + swap, 4: no increment and swap 2021-05-07 23:16:07 +03:00
f241bc0c77 modbus mask type == 3 - swap high and low bytes 2021-05-07 21:39:11 +03:00
a911f43f0c bit more Modbus debug info and serial param N81 by default 2021-05-07 21:26:55 +03:00
64d9d13137 Multi-ventilation - alpha 2021-05-02 02:39:31 +03:00
ecff141f6a multivent interim 2 2021-04-30 11:51:29 +03:00
a0f99d96bc interim - multivent 2021-04-28 21:51:44 +03:00
668464f229 Update on v3.0.0 2021-04-13 03:07:18 +03:00
ff606482e8 Merge branch 'develop'
Update upstream v 3.0.0
2021-04-13 01:24:52 +03:00
f9b8f95eea Merge branch 'master' into develop 2021-04-13 01:24:22 +03:00
c43238c714 CleanUp, GROUP fixes&optimization, binaries 2021-04-13 00:34:34 +03:00
0eb2924816 less stack consumption &faster for recursive groups 2021-04-12 03:44:16 +03:00
bfb28512cc OpenHab bugfix, optimization, SCALE_VOLUME_100 opt. 2021-04-09 02:30:41 +03:00
7c642ec286 MASSIVE refactoring. /set scale changed 100 -> 255 2021-04-08 00:32:21 +03:00
0474c0ac48 compilation fix, motor driver fix 2021-04-02 02:37:35 +03:00
3d03aa661d modbus driver for ESP32 fix, INPUT&HANDLE REGISTERS 2021-03-22 03:49:08 +03:00
0d231345c2 Service Pack 1 PID, FLOAT and TENS types compatib. 2021-03-14 15:44:50 +03:00
a444ef9b31 Termostat refactoring
All Sensors (1-w, DHT, HDC, CCS):unified transfer measurements
to mqtt/local items
2021-03-11 15:08:43 +03:00
8b0ba44445 Binaries & small changes 2021-03-09 05:44:29 +03:00
058cde331d PID item and float-point fixes 2021-03-09 05:28:13 +03:00
e7f606d16c 49days issue fixed, thermostates, RGB/HSV mixes 2021-03-07 00:13:35 +03:00
cecb64fbc6 HSV & RGB mixed control, starting with PID 2021-02-22 23:29:12 +03:00
896321ba84 motor driver debugged and reverse polarity, esp32 fix 2021-01-09 04:07:55 +03:00
0622e2abcd Merge branch 'develop' of https://github.com/anklimov/lighthub into develop 2020-12-19 01:12:48 +03:00
9afef45a2a OTA tools for win added 2020-12-19 01:11:47 +03:00
9b164a1dfc added tools for OTA/windows 2020-12-19 01:02:43 +03:00
5028361a6d platformio.ini 2020-12-17 01:52:06 +03:00
de6174c108 platformio.ini monitor baudrate&due bins updated 2020-12-17 01:43:55 +03:00
43162cf0f0 Continue modbus developing, DMXbuf corruption fix 2020-12-17 01:35:13 +03:00
2d10ac6fbd Critical: DMXsmooth buffer memory corruption fixed 2020-12-17 01:26:23 +03:00
54d22620b0 DMX flickering bug fixed, RGB on PWM 2020-12-09 04:03:18 +03:00
b0c65eb94b MQTT port/login/password issue fixed for some platforms 2020-12-06 02:44:45 +03:00
ffa2c521c5 Adopted to aJson lib update 2020-12-03 01:17:49 +03:00
0055ad0463 interim modbus commit (untested) 2020-12-03 00:34:37 +03:00
71be5a1c7c Color temperature 2020-11-23 23:32:08 +03:00
3ab5a9fbc7 Debugged+Doxigen 2020-11-21 20:01:02 +03:00
7bfe7ed330 Refactored beta
+Doxigen autogenerated docs
2020-11-19 23:47:35 +03:00
9fa9e0f481 Refactoring/smoke tested 2020-11-19 16:39:06 +03:00
14ff55fd59 Refactoring #4 (untested) 2020-11-17 20:13:06 +03:00
963a934f51 Refactoring st3 (untested/uncomplete) 2020-11-17 00:02:33 +03:00
d81308ad4d REFACTORING st2 (still untested & uncomplete) 2020-11-15 20:26:24 +03:00
118fd25186 UNTESTED interim commit with refactoring 2020-11-13 14:19:30 +03:00
544252fb14 bin 2020-10-15 22:35:02 +03:00
b6987bc5bf some messages updated 2020-10-15 20:28:28 +03:00
f12286c3b9 Merge pull request #57 from anklimov/develop
RC Release notes:
=====
OTA
Universal Modbus (Read only)
Syslog fixes
MCP23017 driver
StatusLED
Moved to upstream Ethernet library for WizNet
Multiply buttons on single analog input
Refactoring LAN StateMachine and many relability improvements
2020-10-13 01:36:29 +03:00
cab96de146 Merge branch 'master' into develop 2020-10-13 01:34:24 +03:00
accfd0d245 Red blink on errors
Some cleanup
2020-10-06 02:25:07 +03:00
11943d4fc4 ReRead config AVR/syslog 2020-10-05 17:51:26 +03:00
a511869498 (critical) Syslog memory corruption fixed
LAN startup improved
2020-10-05 15:07:51 +03:00
13efb609d3 Refactored LAN final automate (Ethernet2 lib update required) 2020-10-05 03:50:23 +03:00
38cd7baf58 OTA sockets leak fixed with every Ethernet interface restart (critical) 2020-10-04 02:43:44 +03:00
1f1cd1024f compilation fix for slim options 2020-08-15 03:01:39 +03:00
b6610a31e7 Analog & I2C input reading cache
New input configuration format
many Discrete inputs on single analog in
2020-08-08 00:21:21 +03:00
97714b5c15 REST command fixed 2020-08-07 02:06:05 +03:00
840d3d60eb Modbus v2 initialization fixed 2020-07-26 14:20:04 +03:00
3b8d085b29 ESP32 stability fix + remove DMX 2020-07-15 02:11:43 +03:00
10a9bb119d building flags & small bugfix (MQTT&TOGGLE) 2020-07-14 01:54:42 +03:00
fb6bb153ba ESP8266 build 2020-07-13 22:32:07 +03:00
dffba00f74 ESP Wifi auto-restore connect for wifi manager
FIX Ethernet for ESP
2020-07-13 21:40:58 +03:00
832b469103 MCP23017 inputs
STATUSLED
Compilation for all platforms
WIFI_ENABLE option to allow wired connection for ESP
Modbus, Syslog for ESP
2020-07-12 21:56:05 +03:00
8b4b129b39 Master compilation error due Wiznet 5100 library replacing was fixed 2020-07-06 01:46:01 +03:00
3c38e151e1 SlatusLed & reverting to Ethernet2 wiznet lib 2020-07-04 22:04:57 +03:00
76fb07a7b2 few OTA changes 2020-06-14 17:11:17 +03:00
e87240d841 new interface class itemCmd as interface between objects
Modbus polling->MQTT
syslog fix
different level of logging infoSerial errorSerial
2020-06-06 18:03:57 +03:00
8c95732164 sysLog fixed, added logging library (for serial & syslog) 2020-05-31 18:14:10 +03:00
00e631515f due OTA programming, EEPROM signature check 2020-05-30 18:23:50 +03:00
f691aa0cb0 stop channels when get 2020-05-26 23:26:42 +03:00
0687949bb7 API simplificatoin ph1 (@send param remove 2020-05-21 15:36:35 +03:00
cebb6fc486 modbus serial parameters in config 2020-05-18 08:00:48 +03:00
0dedf388da interim commit: universal Modbus driver 2020-05-13 13:03:12 +03:00
4740e881f4 Merge pull request #55 from anklimov/develop
1-wire fixes
2020-05-09 04:16:55 +03:00
28909c0f34 Binaries recompiled with updated 1-wire libraries DS2482-100 and DallasTemperature 2020-05-09 04:15:27 +03:00
6277a44b1d fix for software 1-wire driver 2020-05-09 04:03:21 +03:00
d4536e403c 1-wire fix & cleanup 2020-05-08 03:43:03 +03:00
e4a5c37cf9 1-wire fix & simplification 2020-05-08 02:53:47 +03:00
e4cf5a45a5 Merge pull request #54 from anklimov/develop
Release-2.1
2020-05-07 01:53:22 +03:00
56a0360823 binaries 2020-05-07 01:31:02 +03:00
9d15f7ad9b RGB bright fix 2020-05-07 01:12:01 +03:00
f650b830d7 Compiled for all platforms + binaries 2020-05-07 00:22:27 +03:00
7b9c474c19 Motor driver fix and extension (auto switch PWM/NON PWM, Motor Quota) 2020-05-07 00:04:50 +03:00
08f251bc63 1wire error handling 2020-04-27 02:25:43 +03:00
ff6816b2e1 multiClick automation slightly modified
Suffix calculaton bug fixed
HUE&SAT impact to non-color channels fixed
2020-04-18 18:59:35 +03:00
c7bed971ba Fixes: negative pin# hung, compilation error, double ON ->white color, analog mapping on the edges of interval, macaddr mask, potential unrelability on LAN re-interability 2020-04-17 23:14:17 +03:00
d1d62515b6 Legacy input rcmd bug fixed 2020-04-02 02:40:26 +03:00
054ac6a206 /set suffix for RGB channel setup turning chan on bug fixed 2020-03-17 02:52:16 +03:00
d5e9686ca9 Compilation issue (with updated libs) fixed for most platforms
Command now can be refined for particular channel state using 
SUBITEM=CMD
2020-03-03 02:27:09 +03:00
504280ca84 compilation fix after ccs811 lib refactoring 2020-03-02 01:03:14 +03:00
24bf7316a9 Smooth DMX fadind for DUE 2020-01-19 23:59:05 +03:00
75b08441f7 SendStatus interim refactoring 2020-01-10 15:21:33 +03:00
e0a6ac9ff0 input "erev" param bug 2020-01-10 14:19:50 +03:00
9e9a3c6e7e Config re-reading memory corruption issue fixed 2020-01-10 13:33:22 +03:00
cc96e4697e fix 2020-01-10 00:57:34 +03:00
7dd48f78d4 JSON string type control. Relability fix 2020-01-10 00:45:32 +03:00
602a997757 input FA small fix 2020-01-09 00:43:12 +03:00
d0537484c5 /hue /sat fix 2020-01-08 21:36:30 +03:00
cacd9eab27 Fine tuning & bugfixing (Forced white, short-off) 2020-01-08 20:44:42 +03:00
5a06d221c8 items: /sat and /hue parameters can be changed separately 2020-01-08 13:45:37 +03:00
0044b741ac contact input: two-way long click
INCREASE and DECREASE (%) commands for volume, hue, sat
2020-01-08 03:00:38 +03:00
951d0d4383 single, double, tripple click, longpress, repeat logic for contact inputs are added 2020-01-07 00:15:13 +03:00
8a3980272e Modbus retry for VaCom fixed
1-st attempt to add OTA
2019-11-27 03:49:00 +03:00
b02edbda5e Cross-compilaton for all platforms & binaries 2019-11-09 04:27:25 +03:00
f57d47dc2b retry if modbus command failed
*/set topics don't invoke OFF/ON anymore
2019-11-09 03:13:41 +03:00
a3e0e70aec HSV -> RGB translation for Adafruit fixed (OMG!)
RGB volume restoring issue fixed
AirFlow regulator action timer more precsision
2019-11-09 01:50:02 +03:00
c947c8bb4c Motor driver with feedback input (Airflow regulator Dospel)
items pulling reworked
2019-11-03 03:31:32 +03:00
23167b4f1c "item":"item/set" - like config entries allowed now. Completely removed/refactored CMD_SET (suffixes are working instead now) - those commands and settings for challels are separated now 2019-10-24 03:57:18 +03:00
b779fd0fac Adafruit NeoPixel library used instead fastLed (allow define [pin#,num,LEDorder] in configuration. Use FASTLED directive to revert FASTLed back 2019-10-23 23:53:45 +03:00
86b19d081d interim spi-led fix 2019-10-22 01:29:48 +03:00
26e8fed4e1 Merge branch 'develop' of https://github.com/anklimov/lighthub into develop 2019-10-21 02:40:57 +03:00
78e1562b48 Interim SPI-LED update: general LED logic appplied, LED-ranges, dynamic LED array alloc 2019-10-21 02:40:27 +03:00
9ce0a84208 Merge pull request #53 from anklimov/develop
Major release commit
Windows compilation fixed (removed dependency from bash)
Core logic refactored - modularity for new devices added
-New module: Haier Air Conditioner UART control
-New module: SPI Led (not finalized yet, need remove hardcodes) - just as module example now
MQTT structure unified: split Commands and Settings topics
HomeAssistant compatibility (+HomeKit, GoogleHome, Alice)
HomeBridge compatibility (Homekit)
2019-10-17 14:02:34 +03:00
99b2456f82 Merge branch 'master' into develop 2019-10-17 14:01:40 +03:00
9cd0d924bb NO Bash required (windows compilation problem gone) - migrated to python
build flags format simplified
Binaries updated
2019-10-17 03:13:39 +03:00
0841c2b06f binaries 2019-10-16 03:12:30 +03:00
9356fa70c5 - 2019-10-16 03:06:12 +03:00
77701e541c Merge branch 'develop' of https://github.com/anklimov/lighthub into develop 2019-10-16 03:03:03 +03:00
c8561c8071 Compiled for all platforms 2019-10-16 03:02:43 +03:00
d7fda3b89e - 2019-10-16 02:54:23 +03:00
8ddd8f1313 - 2019-10-16 02:53:50 +03:00
668f0118b0 mac check 2019-10-16 01:31:31 +03:00
a80509af34 windows PIO compilation issue fixed 2019-10-16 01:02:02 +03:00
8a649272e0 cross-compilation (ESP/MEGA/DUE) 2019-10-15 16:49:10 +03:00
8699f496d6 ccs811 co2 error suppressing 2019-10-15 14:13:54 +03:00
0d3b260bd5 ac fan mode fix 2019-10-15 03:17:32 +03:00
d2915e9ad9 no @set command stored internally anymore to have clear differenciate on-off and value changing 2019-10-15 02:52:34 +03:00
0fbf9f0849 nodered colorpicker restored 2019-09-23 00:29:37 +03:00
88d9c262af HALT, REST, XON, XOFF for drivers 2019-09-22 02:13:59 +03:00
7c9d9d171b Critical AC fix
Some additional commands compatibility for generic driver
2019-09-22 00:25:25 +03:00
e487db022a fix AC temp update 2019-09-18 02:35:22 +03:00
9b413cd9bb AC mqtt status fixed
cmd  update for "set
Enabled & disabled
2019-09-18 02:23:13 +03:00
862f4bc0d3 Air conditioner driver (Haier) - working now
Small cold restart LED color restore issue fixed
command enlarged to 8 bit
2019-09-18 00:38:15 +03:00
9a0cff1f63 cleanup 2019-09-15 08:01:50 +03:00
21c09b2588 Merge branch 'develop' of https://github.com/anklimov/lighthub into develop 2019-09-15 07:56:03 +03:00
f900f897b7 Merge pull request #52 from anklimov/GenericOut
Core refactored - 'drivers' for items added
MQTT topics structure changed
driver example for SPI LED
driver example for Air conditioner HAIER
Termostat compatibility for HomeKit and HomeAssistant
2019-09-15 07:52:15 +03:00
3fae70bd61 Haier Air Conditioner UART driver added (initial release)
some warnings removed
2019-09-15 00:44:07 +03:00
206355b3ec group restore/interim fix 2019-09-14 06:53:04 +03:00
4b1be34561 modbus retry issue, core fixes (cold restore issues) 2019-08-29 16:35:56 +03:00
549bd6527c TOGGLE input re-intrrable issue fixed double toggling 2019-08-29 01:06:07 +03:00
90965aad85 commands are case insensetive now
new commands for HVAC/Thermostates
core logic fixes: Group channel logic& stats
RGBx color change cmd will turn chan on
Modbus fm driver shutdown on alarm deadlock fixed
hsv bit flag in channels RAM profile added
MQTT send empty command for OH fixed
ON for thermostat causes HEAT string to stat topic (to be compatible 
with homekit & home assistant)
2019-08-21 23:20:43 +03:00
a001bd9e35 HomeKit (HomeBridge) compatible thermostat now.
Small bugfixes & cleanup
2019-08-13 23:26:17 +03:00
209cba2352 getFlag/setFlag/clearFlag added (cmd ext refactoring) 2019-08-13 12:30:58 +03:00
1e06556fe5 pre-sendStatus routine refactoring commit 2019-08-13 03:37:02 +03:00
94810689c2 Split connand and value topics. 1st attempt 2019-08-10 23:20:23 +03:00
64588b6c5a gitignore 2019-08-01 20:21:41 +03:00
fa1127190c just working adddress led 2019-08-01 20:03:37 +03:00
fb64394571 driver status, setup, stop 2019-07-19 13:52:52 +03:00
a24e56e941 generic output channel and first example on SPI LED 2019-07-19 01:11:48 +03:00
91a3aeb206 remove .vscode 2019-07-16 22:04:40 +03:00
cc0a679613 remove .vscode 2019-07-16 22:02:28 +03:00
5c4b1512bb abstract ch defs 2019-07-16 22:00:11 +03:00
c78891a423 modbus pooling/tomeout fix 2019-07-14 01:44:06 +03:00
088a4b0397 channels abstraction changed 2019-07-14 01:11:23 +03:00
5540b6ae4d - 2019-07-13 20:18:56 +03:00
bb318d6a96 binaries for due-5500 2019-07-11 02:01:41 +03:00
07349f3586 Merge pull request #51 from anklimov/develop
Develop
2019-07-08 02:29:39 +03:00
6c0c3ce77e Merge pull request #50 from anklimov/GenericOut
fixed network for MEGA+Wiz5500,  … Mega DMX OUT on TX1 pin now (same with DUE), E81 port Modbus dimmer settings for MEGA. AVR Binaries
2019-07-08 02:27:13 +03:00
4efe3af7bb fixed network for MEGA+Wiz5500,
Mega DMX OUT on TX1 pin now (same with DUE),
E81 port Modbus dimmer settings for MEGA. AVR Binaries
2019-07-08 02:25:41 +03:00
8aec09fe76 Merge pull request #49 from anklimov/GenericOut
simple analog mapping fix (& binaries)
2019-07-01 18:54:11 +03:00
1919d3c210 simple analog mapping fix (& binaries) 2019-06-29 16:35:45 +03:00
ea67d46810 minor fix & binaries 2019-06-27 10:32:13 +03:00
e6f8e3f9d0 Fix & binaries 2019-06-27 00:21:51 +03:00
3542ba1a6a analog mapping return float value now
noize parameter working against input of mapping translation
2019-06-26 23:35:55 +03:00
719908d7ff Merge pull request #48 from anklimov/develop
ESP8266 EEPROM commit for CLI commands pwd, get, ip added
2019-06-16 23:29:45 +03:00
d7e4181377 ESP8266 EEPROM commit for CLI commands pwd, get, ip added 2019-06-16 23:26:35 +03:00
1214e306ea Merge pull request #47 from anklimov/develop
static IP address fix
2019-06-16 00:11:10 +03:00
ae868f42d6 binaries 2019-06-16 00:09:00 +03:00
fda79ea55f static ip is working again 2019-06-15 01:13:51 +03:00
a19ee7bc51 Merge pull request #46 from anklimov/develop
Develop
2019-06-11 15:40:07 +03:00
8c9c0c28eb FW binaries updated 2019-06-11 15:37:08 +03:00
20fa427377 EEPROM alligned 2019-06-11 15:32:23 +03:00
b5c6c3a618 Default modbus serial param to N81
Optimized DUE flash saving routine
2019-06-11 15:17:45 +03:00
02fc784002 Merge branch 'develop' of https://github.com/anklimov/lighthub into develop 2019-06-09 02:04:50 +03:00
cf4f688b4b firmware upload scripts for osx
some debug code removed
2019-06-09 02:04:18 +03:00
21b93f4065 Merge pull request #45 from anklimov/develop
merging Develop branch
2019-06-04 20:33:04 +03:00
77221651a1 Windows flashing tools added 2019-06-04 02:55:59 +03:00
8076625704 Platforms renamed to have clear naming, Mega2560-5500 platform added, flashing tools for mac attached, compiled images renewed 2019-06-02 02:23:40 +03:00
708f51e202 Compilation for all platforms. Compiled binaries updated 2019-06-01 23:54:06 +03:00
ea088ca47d M5STACK platform added 2019-06-01 11:37:28 +03:00
1303c106b5 First sucsessfull working build on NRF52840+Wiznet5500 2019-05-12 18:09:39 +03:00
dc4215deaf Publish while MQTT connection pending caused hungs/WDT sometime - fixed
Default set 0 to all DMX out channels (include unused)
2019-05-04 18:49:03 +03:00
902b2768fb Merge pull request #43 from anklimov/develop
Critical: hdc1080 sensor stack overflow fixed
2019-05-01 22:40:28 +03:00
3708311e07 Critical: hdc1080 sensor stack overflow fixed 2019-05-01 22:36:58 +03:00
dff2f43e41 Merge pull request #42 from anklimov/develop
Develop
2019-04-30 15:37:43 +03:00
0005bd0931 Firmware binaries uploaded 2019-04-30 15:32:50 +03:00
b7a729d012 ================================== [SUMMARY] ==================================
Environment nrf52840            [SUCCESS]
Environment esp32               [SUCCESS]
Environment due                 [SUCCESS]
Environment megaatmega2560      [SUCCESS]
Environment esp8266             [SUCCESS]
Environment megaatmega2560-net  [SUCCESS]
Environment due-5500            [SUCCESS]
Environment lighthub21          [SUCCESS]
Environment controllino         [SUCCESS]
Environment stm32               [SUCCESS]
======================== [SUCCESS] Took 100.61 seconds
========================
2019-04-30 15:24:23 +03:00
bd47e11a47 ESP compilation fixed 2019-04-30 15:12:41 +03:00
7cb0492a30 Now MQTT compatible with test.mosquitto.org free broker (empty User vs NULL user)
Few analog-in fixes. ESP32 compilation broken due doard definition
changed. Trying to workaround it
2019-04-30 12:51:57 +03:00
29a95f79c0 fix 2019-04-26 03:59:47 +03:00
5d0fe62f71 fix 2019-04-26 03:23:42 +03:00
fb3d532e2f MAC generaton for DUE changed (more enthropy)
http config URI MUST start with /cnf now
2019-04-26 03:19:56 +03:00
3b1f1e7b9e Merge pull request #41 from anklimov/develop
Develop branch merge
2019-04-25 19:20:52 +03:00
4c65015327 thermostat & status submit interval increased 2019-04-25 19:17:50 +03:00
fd19c42cf0 Critical thermostat initialization bug fixed 2019-04-24 13:05:21 +03:00
b744f9b88b compilation fix
================================== [SUMMARY]
==================================
Environment nrf52840            [SUCCESS]
Environment esp32               [SUCCESS]
Environment due                 [SUCCESS]
Environment megaatmega2560      [SUCCESS]
Environment esp8266             [SUCCESS]
Environment megaatmega2560-net  [SUCCESS]
Environment due-5500            [SUCCESS]
Environment lighthub21          [SUCCESS]
Environment controllino         [SUCCESS]
Environment stm32               [SUCCESS]
2019-04-21 12:06:05 +03:00
40954519db Merge branch 'develop' of https://github.com/anklimov/lighthub into develop 2019-04-21 11:54:48 +03:00
9d59d6cf60 Lighthub hardware v2.1 added as platformio environment 2019-04-21 11:54:04 +03:00
5a99efa0c2 Merge pull request #40 from anklimov/develop
Develop to master
MANY stability improvements, Wifi, compilation for all platforms, include ESP32, new sensors, Embedded MAC address for ESPx and DUE, New RGB conversion algorithm and Node-Red compatibility

Release-Candidate for 2.0
Merge
2019-04-09 21:39:42 +03:00
63b3d0faa7 Merge branch 'master' into develop 2019-04-09 21:31:46 +03:00
03ea4dddd1 NodeRed Dashbord color picker compatible parser now
(tolerant to MQTT payload arrays like here):
[myhome/in/kuh/set] hsv(65, 100%, 86%)
Item=kuh Sub=1 Cmd=0 Par= <65> <100> <86>
2019-04-09 00:48:20 +03:00
8166e55fca Firmware compiled binaries updated 2019-04-07 00:58:08 +03:00
1d8485391e Wifi manager timeout decreased to 30 sec if wifi disconnected after normal operation
(Timeout after cold reboot stay 180 sec)
2019-04-07 00:50:00 +03:00
2c2657799d Environment nrf52840 [SUCCESS]
Environment esp32               [SUCCESS]
Environment due                 [SUCCESS]
Environment megaatmega2560      [SUCCESS]
Environment esp8266             [SUCCESS]
Environment megaatmega2560-net  [SUCCESS]
Environment due-5500            [SUCCESS]
Environment controllino         [SUCCESS]
Environment stm32               [SUCCESS]
2019-04-07 00:43:48 +03:00
5d46dd5807 few cleanup 2019-04-07 00:12:13 +03:00
3d598a1217 More stability: MQTT Publish suppressed if input Loop invoked from ethernet Idle (reentrance issue? low-memory for stack?)
Side effects - some MQTT publishings may lost
Watchdog enabled when MQTT connection pending
2019-04-06 23:53:59 +03:00
ebc908a3a1 Post-merge fix: no local item control without emit tag, i2c scan fixed and removed
significant stability improvements: config re-load cleanup, MQTT submit
only if connected (ESPx very sensetive on it)
new: negative relay pin# - output invertion
2019-04-06 22:53:36 +03:00
8bf3c86a92 Manually merged pull request "Is dev #39
anklimov:develop from livello:is-dev
 -Domotics fixed
 -i2c bus scan
 -Soft reboot on most platforms (except NRF & STM32)
2019-04-02 12:06:50 +03:00
e65241e201 Wifi Fix 2019-04-02 01:31:38 +03:00
eb29e4f227 Add some WIFI respawning & relability improvements for ESPx
MEGA compilation error fixed
2019-04-01 01:58:29 +03:00
dc16a663ec More control and relability 2019-03-31 11:18:45 +03:00
df4a9540a5 Merge branch 'develop' of https://github.com/anklimov/lighthub into develop 2019-03-30 20:29:27 +03:00
9b1c2e5889 ccs811 & hdc1080 integration done
mqtt publish to abstrchin added
http connection error threating for ESPx, DUE, STM fixed
ESP8266 pin conflict between sensor WAK and DMX OUT fixed
DHT begin added
2019-03-30 20:20:32 +03:00
94b7bf7fc4 Update README.md 2019-03-29 12:50:27 +03:00
3216131e96 Update README.md 2019-03-29 12:49:48 +03:00
b30b9346fb Input modularity deployed (see lighthub/modules)
CCS811 & HDC1080 almost developed as Input module
Inputs core refactored
2019-03-25 02:04:48 +03:00
db29ee566c ESP8266 fix (autoretrieve conf if 404)
flash (aJson update required)
2019-03-24 03:01:18 +03:00
8b56ea4378 MAC address setup refactored (for ESPx and DUE - embedded addresses by default) 2019-03-24 01:46:10 +03:00
8b9584f975 STM32 fix&slim, Wifi manager ESP32, compiled binaries updated for all platforms 2019-03-23 22:26:58 +03:00
6fa661690b Some cleanup, halfway of EEPROM config saving for ESP8266 (required updated aJson lib) 2019-03-23 19:11:09 +03:00
2947a1e53c Environment nrf52840_dk [SUCCESS]
Environment esp32               [SUCCESS]
Environment due                 [SUCCESS]
Environment megaatmega2560      [SUCCESS]
Environment esp8266             [SUCCESS]
Environment megaatmega2560-net  [SUCCESS]
Environment due-5500            [SUCCESS]
Environment controllino         [SUCCESS]
Environment stm32               [SUCCESS]
2019-03-23 15:58:52 +03:00
696254a932 ESP8266 tested, fixed & working (mqtt submit_status caused hungs in ESP if no MQTT connection) 2019-03-22 03:48:15 +03:00
581c172e8e few ESP improvements 2019-03-22 02:26:06 +03:00
ad4d9df00a ESP8266 build fix 2019-03-22 01:15:23 +03:00
2f66491153 Changed again/ Now is nice! 2019-03-13 01:51:37 +03:00
04caf6ffdf RGB - to RGBW conversion algorithm changed 2019-03-13 00:43:33 +03:00
6a6fbf469b INIT_VOLUME increased to 50% 2019-03-10 01:29:50 +03:00
d084849fd6 For water heaters (termostate negative pin#) if some comes wrong (or no connection with termometers output is LOW - valve OPEN)
// OFF - also VALVE is OPEN (no teat control)
2019-03-10 01:10:01 +03:00
02fd5078c9 negative pin init hung fixed, homie nodes list submittind removed (unstable if long list) 2019-03-10 00:42:43 +03:00
cbe5980766 fix 2019-03-09 23:49:10 +03:00
7595a99474 -default topics prefix used if no "/" in "emit" parameters of output
-Thermostat should be working with DHT22
-Negative PIN# in thermostat item - reverse logic: HIGH level of output
should stop heating
2019-03-09 23:38:57 +03:00
cd32554175 MQTT topics refactoring (sub-properties, set) to better compatibility, modify default topic prefix from /myhome to myhome 2019-03-08 03:55:59 +03:00
515728207f fixed longint conversion Mega 2019-03-07 19:16:03 +03:00
eb43bc5d18 uptime to 32 bits, build# to homie 2019-03-06 15:51:44 +03:00
8aac733cd1 Merge pull request #38 from anklimov/develop
Small homie topics fix/tested Mega&Due
2019-03-04 22:14:33 +03:00
517b760e49 due compilation fix 2019-03-04 16:07:45 +03:00
ac71e4436b fix 2019-03-04 16:02:17 +03:00
bdac63fa8a homie topic strucrure correction 2019-03-04 15:47:12 +03:00
12af8d0286 Merge pull request #37 from anklimov/develop
Release candidate for V2.0
2019-03-04 05:00:56 +03:00
eff97d117c Merge branch 'master' into develop 2019-03-04 04:57:02 +03:00
ed0330307e Merge branch 'develop' of https://github.com/anklimov/lighthub into develop 2019-03-04 04:50:39 +03:00
141bb9c657 MQTT topics config & CallBack refactoring 2019-03-04 04:49:35 +03:00
8d779c4581 Update README.md 2019-03-04 01:21:51 +03:00
8cc63445be Update README.md 2019-03-04 01:19:21 +03:00
83e61b042e Update README.md 2019-03-04 01:17:15 +03:00
d1def67417 Update README.md 2019-03-04 01:14:34 +03:00
ba535a6e12 Update README.md 2019-03-04 01:01:46 +03:00
98db109235 Update README.md 2019-03-04 00:34:42 +03:00
23e493097e fix Mega compilation 2019-03-03 16:16:35 +03:00
c74575e0e9 Improve multiplatform building stuff 2019-03-03 15:42:54 +03:00
b6149c4603 Delete CNAME 2019-02-16 10:58:57 +03:00
111b85ca04 Create CNAME 2019-02-16 10:56:55 +03:00
1048d543c5 Set theme jekyll-theme-cayman 2019-02-16 10:55:58 +03:00
3e3b5f9f5f fix 2019-02-14 18:18:49 +03:00
5b5e5e9010 Progmem issues fixed (Mega) 2019-02-14 17:34:31 +03:00
415fce33c8 hungs if no items configured - fixed 2019-02-10 00:18:48 +03:00
772f3ab28c artnet hung fixed 2019-02-09 23:58:30 +03:00
e7f376196c Improved logic to threat unknown 1-wire device (some PnP)
artnet disabled by default for due since some execution blocking in
artnet->read()
2019-02-09 22:38:47 +03:00
ecb11ce3a5 DeviceID based default MAC for DUE, fix for artnet hungs w/o LAN fixed 2019-02-09 12:51:34 +03:00
064ef6f007 MQTT subscribe fix, AnalogIn fix, first attempt to compile for NRF5 2019-02-04 01:38:46 +03:00
8d87f09e29 Beginning to add homie convention compatibility https://homieiot.github.io/specification/ 2019-01-04 04:10:10 +03:00
8652810558 Update README.md 2018-12-25 15:40:41 +03:00
b60ff43cf2 Update README.md
update ext links
2018-12-25 15:25:41 +03:00
4508600cde Improved analog input logic. Mapping config param added 2018-11-25 17:33:42 +03:00
37a6c677ce AnalogInput developed, some other fixes: eol-to-endl debugSerial; volume RGB channels changing by single argument passing (GoodleHome/analogue input control) fixed 2018-11-25 04:46:35 +03:00
8fccde7686 Thermostat group setpoint setup fixed, and setting temperature will not turn off heater now 2018-11-23 17:10:34 +03:00
5bdbaf3513 Update README.md 2018-11-14 00:33:32 +03:00
1c3a4421f3 Unique MPU id for due 2018-11-12 02:21:38 +03:00
2509075803 Merge pull request #35 from livello/IS-ENC
1wire domoticz support, dht22, contact,uptime refactoring
2018-11-10 01:48:18 +03:00
livello
979349a38e freeRam stub removed. debugSerial + small refactoring and code format 2018-11-09 02:12:53 +03:00
livello
23f2e60079 fix flash_64kb error. debugSerial in Item.cpp 2018-11-07 13:49:30 +03:00
livello
9ea9ad8698 refactoring. stm32 minimal support 2018-11-07 01:25:28 +03:00
livello
040dcfe746 domoticz uptime, dht22, contact refactoring 2018-10-23 15:39:20 +03:00
livello
7e6842cd1d 1w domoticz support 2018-10-22 10:34:53 +03:00
3e3d8e6d84 Merge pull request #33 from livello/IS-ENC
lib_ignore, build_flags, DHT, counter, domoticz, WITH_PRINTEX_LIB, arduino_arch,
2018-10-18 23:05:57 +03:00
livello
2ff511be35 platformio clean 2018-10-18 22:33:58 +03:00
livello
e75813e721 modbus merge 2018-10-18 22:25:33 +03:00
livello
52b94055f7 merge upstream/develop 2018-10-18 22:15:52 +03:00
livello
cd03599b83 merge upstream/develop 2018-10-18 22:10:18 +03:00
02af69ba83 Move some strings to flash 2018-10-18 21:12:26 +03:00
222b92d536 [env:megaatmega2560] - correct Ethernet lib for wiz5100 2018-10-18 21:05:00 +03:00
ad555164f6 Merge pull request #32 from MykhailoKh/develop-add-modbus-register-type-parameter
Add modbus register type parameter
2018-10-18 20:45:45 +03:00
livello
b5112c2a29 lib_ignore all envs except stm32 compiles ok at one time 2018-10-18 19:43:40 +03:00
livello
67c7e373a0 lib_ignore almost allow keep piolibdeps 2018-10-18 16:19:44 +03:00
livello
321e4843ba return WITH_PRINTEX_LIB and still has compilation problems 2018-10-18 08:49:39 +03:00
Mykhailo Khulap
08f1aaf72d Keep debug out as it was before 2018-10-18 07:24:33 +03:00
livello
4101f7bd2e ARDUINO_ARCH_AVR 2018-10-18 00:57:00 +03:00
livello
ab1ab64f77 optional build_scripts 2018-10-18 00:44:16 +03:00
livello
655ef79b5d dht_counter_disable
with_domoticz
printex removed because of compilation errors
2018-10-17 22:02:52 +03:00
Mykhailo Khulap
18915c26c2 Fix typo in parameter 2018-10-17 21:52:21 +03:00
Mykhailo Khulap
9d6ffe7f7d Add modbus register type parameter 2018-10-17 21:06:52 +03:00
Mykhailo Khulap
7c46f3b7cd Fix win/unix line ending 2018-10-17 12:17:33 +03:00
livello
fe9300f921 domoticz dht22 support 2018-10-17 12:16:20 +03:00
Mykhailo Khulap
766cd060b8 Fix compilation errors and project dependencies for Arduino Mega 2018-10-17 12:13:07 +03:00
livello
1b2646d0d0 domoticz dht22 support 2018-10-16 11:43:14 +03:00
livello
2bf6050f50 domoticz dht22 support 2018-10-16 11:36:59 +03:00
livello
41df3b701e remove build_flags 2018-10-15 21:27:58 +03:00
d89dfd2364 Prevent restoring temporary turned on channels (by XON) 2018-10-14 11:15:54 +03:00
dd44e46f77 Temperature topicname fixed 2018-10-14 10:43:48 +03:00
687ef7cd99 DS18B20 TEMPERATURE_PRECISION increased to 12 bits and temp converted to float 2018-10-14 03:20:50 +03:00
3038e41788 Fix after merging PR.(DUE and Mega) 2018-10-13 23:03:59 +03:00
87e7bcbd6a Merge pull request #30 from livello/IS-ENC
device_name, PrintEx lib, refactoring
2018-10-13 21:18:26 +03:00
livello
db8a48b1c4 lan init fix 2018-10-11 11:04:05 +03:00
livello
dcf2fcf58e build_flags_envName.sh are customized files and must not be placed into repository 2018-10-11 00:50:08 +03:00
livello
39f655ff78 log, some small fixes 2018-10-11 00:43:09 +03:00
livello
9432898b03 printex streaming 2018-10-10 14:24:18 +03:00
livello
40fe3d3d1b printex 2018-10-10 13:53:45 +03:00
livello
5d64a72ea0 printex 2018-10-10 13:49:28 +03:00
livello
b7675f8dd1 PrintEx 2018-10-09 11:11:00 +03:00
livello
e1db33cc69 PrintEx 2018-10-09 10:01:58 +03:00
livello
02a64ac155 PrintEx 2018-10-09 10:00:19 +03:00
livello
698c2a653a PrintEx 2018-10-09 01:27:56 +03:00
livello
b83badcff8 refactoring 2018-10-08 18:23:10 +03:00
livello
ebc7c57fd6 refactoring 2018-10-08 00:48:56 +03:00
livello
fecdd737d0 Merge remote-tracking branch 'upstream/develop' into IS-ENC 2018-10-04 21:49:59 +03:00
livello
5e06c822cd from IS-STM32Duino 2018-10-04 21:40:55 +03:00
9275467052 core Tested/Bugfixed. XON/XOFF, save/restore states 2018-09-29 12:33:48 +03:00
df95bec241 Google Home Volume voicecommand compatible, XON-XOFF command added, Mega compilation issue fixed (Brige.cpp - updated Modbus lib required) 2018-09-28 03:49:27 +03:00
770c6e3c25 Merge pull request #29 from MykhailoKh/develop-add-support-for-button-as-input
Add button support as input  (every push changing state)
2018-09-28 01:03:03 +03:00
Mykhailo Khulap
7742747d5d Add button support as input 2018-09-27 07:34:09 +03:00
ae2187de84 Update build_flags_template.sh
Default mac changed
2018-09-25 23:23:16 +03:00
c9bed1ea8f Merge pull request #28 from MykhailoKh/develop-add-w5500-spi-cs-pin-configuration
Add configuration for CS pin for Ethernet W5500
2018-09-25 23:16:42 +03:00
Mykhailo Khulap
ba34596c08 Add configuration for CS pin for Ethernet W5500 2018-09-24 08:13:55 +03:00
6efbe5f021 Schematic diagram hardware_v2.0 uploaded 2018-09-16 20:13:51 +03:00
4875136ebc syslog hung fixed 2018-09-10 02:20:07 +03:00
b33c621926 Critical fix: DUE with WIZ5500 working again now: EthernetX lib mess fixed, IP stack startup code fixed 2018-09-10 01:40:35 +03:00
263888ddf1 Sainty check 2018-09-10 01:01:40 +03:00
b2238e5f6f MAC 2018-09-10 00:40:33 +03:00
c89bed6920 def MAC changed 2018-09-09 23:29:36 +03:00
abcde9042e def MAC changed 2018-09-09 23:28:49 +03:00
36dcd5896b def MAC changed 2018-09-09 23:27:32 +03:00
39eed2f05f Added DUE lib 2018-09-09 23:20:49 +03:00
3031a25095 Merge pull request #26 from livello/IS-ENC
Counters input support, up to 6 encoders on mega and due. Syslog, ESP32
2018-09-09 22:52:03 +03:00
livello
f38dfc1851 from IS-STM32Duino 2018-09-09 01:16:07 +03:00
livello
40479ba2c8 stm32f1 suppport. changes 2018-07-19 05:44:27 +03:00
livello
09726be883 esp32 support, build_flags_{ENVNAME}.sh now can be used and edited in IDE! 2018-07-04 01:22:00 +03:00
livello
797ce5d4ce Encoder support 2018-07-01 13:35:53 +03:00
livello
ec4f4784a2 Encoder support 2018-07-01 12:54:59 +03:00
livello
f8355cfb7b Encoder. need to change irq function 2018-07-01 01:56:16 +03:00
34c618db72 polling of contacts fixed 2018-06-30 13:46:22 +03:00
fa864bd9f7 Merge pull request #25 from livello/IS-DHT
(2)DHT22 Input support, thermo, esp refactoring, lan_status enum, wifi_manager, printing ip config, save current ip config
2018-06-30 01:07:49 +03:00
74689fcd8b Merge branch 'develop' into IS-DHT 2018-06-30 01:07:15 +03:00
livello
a54c67e062 fix wifimanager without esp 2018-06-29 10:44:02 +03:00
livello
90c21ef125 wifimanager esp8266, RESTART_LAN_ON_MQTT_ERRORS option, option RESET_PIN for restart on lan init error 2018-06-29 10:35:32 +03:00
livello
483454d9f6 esp8266 fix 2018-06-29 01:03:19 +03:00
livello
21da448e93 ip save 2018-06-29 00:38:38 +03:00
livello
0f670ca506 ip save 2018-06-29 00:31:20 +03:00
livello
973919dc84 printIP, saveIP, loadIP 2018-06-28 15:47:05 +03:00
livello
407a2af235 w5100 reset, soft reset, refactoring 2018-06-28 13:31:58 +03:00
livello
3de7baa0de lanStatus enum 2018-06-27 15:46:12 +03:00
livello
589c510b32 hard and soft reset, dht22 support, reset on lan init error, reset on many mqtt errors 2018-06-20 22:55:23 +03:00
livello
7d09bc6ad0 DHT22 Input support, thermo and esp refactoring 2018-06-09 17:06:58 +03:00
7b69482180 Merge pull request #20 from livello/patch
Esp8266 basic support, dmx now can be disabled, experiments with build scripts
2018-06-01 02:02:10 +03:00
livello
4c6acda58a return targets back (controllino, *-5500) 2018-05-31 23:57:34 +03:00
livello
025ae66990 Merge branch 'master' of github.com:anklimov/lighthub into patch 2018-05-28 13:43:10 +03:00
livello
d17ba12a31 Merge branch 'master' of github.com:anklimov/lighthub into patch
# Conflicts:
#	platformio.ini
2018-05-28 13:42:45 +03:00
8e38095177 scmd,rcmd in inputs may contain not only cmd but values, minimal dimmers volume treshhold for ON command, remote command execute on MQTT command (new Cmd.h required), bat-files to flash DUE and start CLI added 2018-05-25 09:29:47 +03:00
livello
119c1082c2 dht support in progress 2018-05-22 23:52:00 +03:00
livello
2ce453db82 esp8266
esp8266 worked

esp8266 basic support, DMX now can be disabled
2018-05-22 22:10:06 +03:00
livello
bc44c146b9 esp8266 2018-05-22 18:16:50 +03:00
b8861d895a platformio.ini 2018-05-19 15:20:30 +03:00
2b56dcd8dd Merge pull request #19 from livello/patch
clear EEPROM, laninit delay, clean platformio.ini
2018-05-19 15:09:30 +03:00
Климов Андрей Николаевич
44da59a216 platformio.ini 2018-05-19 15:09:01 +03:00
d1cab710ea Update README.md 2018-05-19 14:50:19 +03:00
livello
dc110e0b79 clear EEPROM cmd function 2018-05-17 18:29:04 +03:00
livello
9032802d2a lan init delay 2018-05-15 16:36:44 +03:00
livello
cfa2b83513 lan init delay 2018-05-15 15:54:30 +03:00
livello
f17d857808 revert 2018-05-15 12:46:25 +03:00
livello
a2fe9fd231 Merge branch 'my_master' into patch
# Conflicts:
#	README.md
#	build_flags_template.sh
#	compiled/Mega2560/Wiz5100/firmware.hex
#	compiled/Mega2560/Wiz5500/firmware.hex
#	lighthub/main.cpp
#	lighthub/main.h
#	lighthub/options.h
#	platformio.ini
2018-05-15 01:35:03 +03:00
livello
0a3d044cab moved setting build flags to python script. No need CLI anymore. Removed duplicated envs. They can be used by setting appropriate build flags: Wiz5500, Controllino, etc. 2018-05-15 01:34:16 +03:00
livello
71908ab2eb Removed envs can be used with setting up build flags. 2018-05-12 22:19:15 +03:00
1780 changed files with 237964 additions and 9960 deletions

23
.gitignore vendored
View File

@@ -1,5 +1,28 @@
.pioenvs
.piolibdeps
.pio
.clang_complete
.gcc-flags.json
.DS_Store
CMakeListsPrivate.txt
custom-build-flags/*
custom-build-flags/build_flags_due
custom-build-flags/build_flags_esp32
custom-build-flags/build_flags_esp8266
custom-build-flags/build_flags_stm32
custom-build-flags/build_flags_due-5500
custom-build-flags/build_flags_mega2560
custom-build-flags/build_flags_mega2560-net
custom-build-flags/build_flags_controllino
custom-build-flags/build_flags_nrf52840
.vscode/*
.vscode/.browse.c_cpp.db
.vscode/c_cpp_properties.json
.vscode/launch.json
lighthub/modules/out_elevator.cpp
lighthub/modules/out_elevator.h
lighthub/modules/out_humidifier.cpp
lighthub/modules/out_humidifier.h
spare_files/*
spare_files/ArduinoOTA/*
lib/*

View File

@@ -1,67 +0,0 @@
# Continuous Integration (CI) is the practice, in software
# engineering, of merging all developer working copies with a shared mainline
# several times a day < http://docs.platformio.org/page/ci/index.html >
#
# Documentation:
#
# * Travis CI Embedded Builds with PlatformIO
# < https://docs.travis-ci.com/user/integration/platformio/ >
#
# * PlatformIO integration with Travis CI
# < http://docs.platformio.org/page/ci/travis.html >
#
# * User Guide for `platformio ci` command
# < http://docs.platformio.org/page/userguide/cmd_ci.html >
#
#
# Please choice one of the following templates (proposed below) and uncomment
# it (remove "# " before each line) or use own configuration according to the
# Travis CI documentation (see above).
#
#
# Template #1: General project. Test it using existing `platformio.ini`.
#
# language: python
# python:
# - "2.7"
#
# sudo: false
# cache:
# directories:
# - "~/.platformio"
#
# install:
# - pip install -U platformio
# - platformio update
#
# script:
# - platformio run
#
# Template #2: The project is intended to by used as a library with examples
#
# language: python
# python:
# - "2.7"
#
# sudo: false
# cache:
# directories:
# - "~/.platformio"
#
# env:
# - PLATFORMIO_CI_SRC=path/to/test/file.c
# - PLATFORMIO_CI_SRC=examples/file.ino
# - PLATFORMIO_CI_SRC=path/to/test/directory
#
# install:
# - pip install -U platformio
# - platformio update
#
# script:
# - platformio ci --lib="." --board=ID_1 --board=ID_2 --board=ID_N

207
README.md
View File

@@ -1,134 +1,80 @@
# LightHub
is Flexible, Arduino-Mega/Arduino DUE/ESP8266 open-software and open-hardware SmartHome controller. [RU](https://geektimes.ru/post/295109/) [HOME-site RU](http://lazyhome.ru)
is Flexible, Arduino-Mega/Arduino DUE/ESP8266/ESP32 open-software and open-hardware SmartHome controller.
Useful links:
* [Article/RU](https://geektimes.ru/post/295109/)
* [HOME-site/RU](http://lazyhome.ru)
* [WIKI/RU](https://www.lazyhome.ru/dokuwiki/doku.php?id=start)
* [Doxigen autodocumentation for developers](https://anklimov.github.io/lighthub/docs/html/index.html) (litle bit outdated)
It may operate both:
* On [especially designed hardware board](http://www.lazyhome.ru/index.php/featurerequest) with 16 optocoupled digital inputs, 16 ESD protected digital/analog Inputs/outputs, 8 open-collector outputs (up to 0.5A/50V), DMX IN/OUT, MODBUS RTU and hardware 1-wire support circuit.
* On plain Arduino MEGA 2560, Arduino DUE, ESP8266 and even on [Controllino](http://controllino.biz/)
(Controllino and ESP8266 is not tested enough and in experimental stage yet)
* On plain Arduino MEGA 2560, Arduino DUE, ESP8266, ESP32 and even on [Controllino](http://controllino.biz/)
(Controllino is not tested enough)
Lighthub allows connecting together:
* Contact sensors (switches, buttons etc)
* Analog sensors (Leak detectors, Knobs etc)
* 1-Wire temperature sensors (up to 20 on single bus)
* Standard nonexpensive Relay board with TTL inputs, [like this](https://aliexpress.com/item/16-Channel-20A-Relay-Control-Module-for-Arduino-UNO-MEGA2560-R3-Raspberry-Pi/32747887693.html) to control AC powered lamps, floor heaters, boilers etc
* [Standard nonexpensive LED dimmers](https://aliexpress.com/item/30-channel-27channel-Easy-DMX-LED-controller-dmx-decoder-driver-rgb-led-controller/2015743918.html) and [AC DMX-512 dimmers](https://aliexpress.com/item/DMX302-led-DMX-triac-dimmer-brightness-controller-AC90V-240V-Output-3channels-1A-CH-High-voltage-led/32822841266.html)
* Modbus RTU devices (Currently, are deployed two types of Modbus devices: AC Dimmer and Ventilation set (Based on [Vacon 10 controller](http://files.danfoss.com/download/Drives/Vacon-10-Quick-Guide-DPD00714F1-UK.pdf))
* Simple DMX wall sensor panel [like this](https://aliexpress.com/item/New-Ltech-D8-LED-rgb-RGBW-touch-panel-controller-DMX512-controller-DC12-24V-4-zones-4/32800199589.html)
* Temperature/Humidity/CO2 sensors: DHT22, CS811, HDC1080 and any type of Modbus connected devices
* Standard nonexpensive Relay board with TTL inputs, [like this](http://ali.pub/2zlosh) to control AC powered lamps, floor heaters, boilers etc
* [Standard nonexpensive LED dimmers](http://ali.pub/2zlokp) and [AC DMX-512 dimmers](http://ali.pub/2zlont)
* Modbus RTU devices (Currently, possible to control any type of Modbus devices - e.c dimmers, sensors, wall climate panels, HVAC e.t.c
* Simple DMX wall sensor panel [like this](http://ali.pub/2zlohe)
[List of non-expensive compatible components from AliExpress here](http://ppv.alipromo.com/custom/promo.php?hash=pjagwaovaero6vkeabjpkpvy4gznbgkc&landing_id=39661)
![alt text](LightHub.png "LightHub application diagram")
Where is possible both, to configure local control/mapping between inputs and outputs (light, floor heating thermostats) and remote control from MQTT enabled software. At the moment, LightHub tested with following set of complementary free software:
![alt text](docs/LightHubAppDiagram.png "LightHub application diagram")
Where is possible both, to configure local control/mapping between inputs and outputs (light, floor heating thermostats) and remote control from MQTT enabled software and between controllers. At the moment, LightHub tested and perfectly working with following set of complementary free software:
* [HomeAssistant](https://www.home-assistant.io) - the best choice of HomeAutomation system
* [Openhab or Openhab2 Smarthome software](http://www.openhab.org/)
Openhab provides own native mobile app both, for IoS and Android, and even allow you to use Apple's HomeKit to say "Siri, turn on light in bedroom" but requires some server to be installed (Raspberry PI with [Openhabian](https://docs.openhab.org/installation/openhabian) will good enough)
Openhab provides own native mobile app both, for IoS and Android, and even allow you to use Apple's HomeKit and Google Home to say "Siri, turn on light in bedroom" or "Hey Google, set bedroom light to Red" but requires some server to be installed in-premises (Raspberry PI with [Openhabian](https://docs.openhab.org/installation/openhabian) will good enough)
* [HomeRemote mobile client](http://thehomeremote.com/)
Home Remote mobile applicatios for IoS and Android requires just MQTT broker to be working. Any Cloud-based MQTT broker, like [CloudMQTT](https://www.cloudmqtt.com/) will enough to serve average household, even with free account.
* [Node-Red](https://nodered.org/) Possibly, the best solution to deploy event-based authomation and scripting on top of MQTT/LightHub. The easy to use universal and visual tool to wire many different devices in single system. Having own Dashbord which allow control from web/mobile web, even without mobile apps (but excelent co-working with OpenHab and HomeRemote)
Home Remote mobile applicatios for IoS and Android requires just MQTT broker to be working. Any Cloud-based MQTT broker, like [CloudMQTT](https://www.cloudmqtt.com/) will enough to serve average household, even with free account.
* [Node-Red](https://nodered.org/) Possibly, the best solution to deploy event-based authomation and scripting on top of MQTT/LightHub. The easy to use universal and visual tool to wire many different devices in single system. Having own Dashbord which allow control from web/mobile web, even without mobile apps (excelent co-working with OpenHab and HomeRemote)
Scalability of Lighthub is virtually unlimited: Setup so many controllers you needed in most convenient places of your house - MQTT broker will allow controllers communicate each other and with Openhab/NodeRed/HomeRemote and propagate commands across network.
# [Please refer to our Wiki for insructions.](https://github.com/anklimov/lighthub/wiki/Configuring)
* [Russian-language Wiki](https://www.lazyhome.ru/dokuwiki/doku.php)
* [Compiling and flashing](https://github.com/anklimov/lighthub/wiki/Compiling-and-flashing)
* [Configuring](https://github.com/anklimov/lighthub/wiki/Configuring)
* [Browser Plugin for searching and configure controllers](https://github.com/anklimov/zeroconf-lighthub)
* [Channel commands](https://github.com/anklimov/lighthub/wiki/Channel-commands)
* [OpenHab integration](https://github.com/anklimov/lighthub/wiki/OpenHab--integration)
Finished portation of project to Arduino DUE and ESP8266 (ESP32 not tested).
Compiled image has been added to [compiled/](https://github.com/anklimov/lighthub/tree/master/compiled) folder. Flash your Mega 2560
```bash
avrdude -v -V -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i
```
or flash your DUE (need to correct path and port, of course)
```bash
/Users/<user>/Library/Arduino15/packages/arduino/tools/bossac/1.6.1-arduino/bossac -i -d --port=cu.usbmodem1451 -U false -e -w -v -b firmware.bin -R
```
Note: binary images usually not up-to-date with recent code. The preferred way, to compile and upload firmware to your controller.
# Dependencies
(quite big number of libs required. Use git clone to have your local copy in your Arduino libs folder)
Please check updates for all dependences.
For patched libraries, appropriate GitHub repo URL provided:
* Arduino-Temperature-Control-Library https://github.com/anklimov/Arduino-Temperature-Control-Library
* DS2482_OneWire https://github.com/anklimov/DS2482_OneWire
* FastLED
* Wire (standard)
* Artnet https://github.com/anklimov/Artnet.git
* DmxSimple https://github.com/anklimov/DmxSimple (for AVR) or https://github.com/anklimov/ESP-Dmx (for ESP) or https://github.com/anklimov/DmxDue (for DUE)
* HTTPClient (for AVR) https://github.com/anklimov/HTTPClient or https://github.com/arduino-libraries/ArduinoHttpClient for other platforms
* aJson https://github.com/anklimov/aJson
* CmdArduino https://github.com/anklimov/CmdArduino
* EEPROM (standard for AVR) or DueFlashStorage for DUE: https://github.com/sebnil/DueFlashStorage
* ModbusMaster https://github.com/anklimov/ModbusMaster
* pubsubclient-2.6
* DMXSerial-master (for AVR) https://github.com/anklimov/DMXSerial
* Ethernet https://github.com/anklimov/Ethernet
* SPI (standard)
Portation from AVR Mega 2560 to SAM3X8E (Arduino DUE) done since v 0.96 and tested against Wiznet 5100 Ethernet shield and Wiznet 5500 Ethernet module
* [Doxygen developers documentation](https://anklimov.github.io/lighthub/docs/html/index.html)
* [Latest Release notes](https://github.com/anklimov/lighthub/releases/tag/v3.0.0)
# Platforms specific details:
AVR version is basic, long tome in production and have all functions
*DMX-out is software (DMXSimple) on pin3
**AVR** version (Arduino Mega) is basic, long time in production and have most functions
* DMX-out is software (DMXSimple) on pin3, can be re-defined to PIN 18 (USART1 TX)
* DMX-in - hardware
* WIZNET 5100 and 5500 Ethernets are supported
* Modbus on USART2
* Very limited in terms of RAM available
* OptiBoot bootloader recommended
**SAM3X8E**: (Tested. Recomended hardware at current moment)
* default PWM frequency
**SAM3X8E** (Arduino DUE): (Tested. In production. Recomended hardware at current moment)
* Reachest funcionality from all possible options
* both, DMX-in and DMX-out are hardware USART based. Use USART1 (pins 18 and 19) for DMX-out and DMX-in
* WIZNET 5100 and 5500 Ethernets are supported
* Modbus on USART2
**ESP8266**: (Developed but not tested in production)
**ESP8266, ESP32**: (Tested)
* DMX-OUT on USART1 TX
* DMX-IN - not possible to deploy in ESP8266
* Modbus - disabled. Might be configured in future on USART0 instead CLI/DEBUG
* DMX-IN - disabled - not possible to deploy in ESP8266
* Modbus - disabled on ESP8266, Might be configured on USART0 instead CLI/DEBUG, on ESP32 binded with UART2
* Uses Wifi interface instead wired connection
since v. 0.97:
Mega and DUE:
Need to use compiler directive -D Wiz5500 and https://github.com/anklimov/Ethernet2 library to compile with Wiznet 5500 instead 5100
Prefered way to compile project is using platformio toolchain, suitable for Arduino Due, and Arduino Mega2560
# Due compilation issue "USART0_Handler redefinition"
Please, open /variants/arduino_due_x/variant.cpp file, then add USART0_Handler method definition like this
void USART0_Handler(void) __attribute__((weak));
The normal path to find this file in platformio is:
.platformio/packages/framework-arduinosam/variants/arduino_due_x
# Platformio command line build instructions
[First of all install platformio framework.]( http://docs.platformio.org/en/latest/installation.html) [Good tutorial for fast start in RUSSIAN.](https://geektimes.ru/post/273852/)
In linux\OSX you can open terminal, navigate to your programming directory, then
```bash
git clone https://github.com/anklimov/lighthub.git
cd lighthub
```
now prepare project files for your IDE
```bash
pio init --ide [atom|clion|codeblocks|eclipse|emacs|netbeans|qtcreator|sublimetext|vim|visualstudio|vscode]
```
Set custom build flags. first make your own copy of template
```bash
cp build_flags_template.sh my_build_flags.sh
```
then edit, change or comment unnecessary sections and source it
```bash
nano my_build_flags.sh
source my_build_flags.sh
```
build and upload firmware for due|megaatmega2560|esp8266 board
```bash
pio run -e due|megaatmega2560|esp8266 -t upload
```
Clean pio libraries folder. Try it if you have compilation problem:
```bash
rm -Rf .piolibdeps
```
open COM-port monitor with specified baud rate
```bash
platformio device monitor -b 115200
```
**NRF52840** : Still early development stage
# Custom build flags
@@ -137,31 +83,70 @@ platformio device monitor -b 115200
* USE_1W_PIN=49 // use direct connection to 1W devices on 49 pin, no I2C bridge DS2482-100
* SD_CARD_INSERTED // enable sd-card support and fix lan starting
* SERIAL_BAUD=115200 // set baud rate for console on Serial0
* Wiz5500 //Use Wiznet 5500 library instead Wiznet 5100
* Wiz5500 //Use Wiznet 5500 library instead universal Wiznet
* Wiz5100 //Use Wiznet 5500 library instead universal Wiznet
* DISABLE_FREERAM_PRINT // disable printing free Ram in bytes
* CUSTOM_FIRMWARE_MAC=de:ad:be:ef:fe:00 //set firmware macaddress
* DMX_DISABLE //disable DMX support
* MODBUS_DISABLE // disable Modbus support
* MODBUS_DISABLE // disable old Modbus driver
* MBUS_DISABLE // disable new Modbus driver
* MODBUS_TX_PIN=13
* OWIRE_DISABLE // disable OneWire support
* ARTNET_ENABLE //Enable Artnet protocol support
* AVR_DMXOUT_PIN=18 // Set Pin for DMXOUT on megaatmega2560
* CONTROLLINO //Change Modbus port, direction pins and Wiznet SS pins to be working on [Controllino](http://controllino.biz/)
* LAN_INIT_DELAY=2000 // set lan init delay for Wiznet ethernet shield
* ESP_WIFI_AP=MYAP // esp wifi access point name
* ESP_WIFI_PWD=MYPWD // esp wifi access point password
* WIFI_MANAGER_DISABLE //Disable wifi manager for esp8266
* COUNTER_DISABLE //disable Counter, Uptime input support (for RAM savings on mega2560)
* DHT_DISABLE //disable DHT input support (for RAM savings on mega2560)
* PID_DISABLE // Disable PID regulator
* STATUSLED // Enable RGB status led on pins 50,51,52 (DUE only)
* DMX_SMOOTH //Smooth transition on DMX channels (DUE only)
* OTA // Enable Other The Air firmware upload
* W5500_CS_PIN=53 //Defines CS pin for Ethernet adapter (10-th by default)
* WIFI_ENABLE //Enable WiFi for ESP (Wiznet by default)
* SPILED_DISABLE //Disable SPI LED library
* AC_DISABLE //Disable UART Hayer Air condition driver
* M5STACK //Logging to M5Stack OLED screen
* NO_HOMIE //Disable HOMIE discovery topics
* BRIGHT_STEP //Scale DMX bright - Table1
* BRIGHT_LOG //Scale DMX bright - Table2
* MCP23017 allow I2C input port extender on MCP23017 chip
* RESTART_LAN_ON_MQTT_ERRORS //reinit LAN if many mqtt errors occured
* DEVICE_NAME short handy device name which is used instead of mac for download config http://{MY_CONFIG_SERVER}/{DEVICE_NAME}_config.json
* SYSLOG_ENABLE enable UDP SYSLOG support feature(under DEVELOPMENT) that must be configured through config file
* WITH_PRINTEX_LIB use PrintEx library (develop experimental feature)
* CSSHDC_DISABLE //Disable CS811 and HDC1080 sensors support
* FASTLED - using FASTLED library instead default ADAFRUIT_LED
* SCALE_VOLUME_100 using 0..100 scaling in /set topics instead 0.255 (default)
# Default compilation behavior:
* Config server: lazyhome.ru
* Config server: lazyhome.ru (hosting of config files available for all registred users of portal - see MyDevices tab)
* Watchdog enabled
* 1-Wire communication with DS2482-100 I2C driver
* No SD
* Serial speed 115200
* Wiznet 5100 (for MEGA & DUE)
* Free Ram printing enabled
* de:ad:be:ef:fe:00
* de:ad:be:ef:fe:ff default MAC address for MEGA (on ESPx, DUE - using hardware defined MAC by default)
* DMX support enabled
* Modbus support enabled
* OneWire support enabled
* Artnet disabled
* Defailt MQTT input topic: /myhome/in
* Default MQTT topic to publish device status: /myhome/s_out
* Default Alarm output topic /alarm
* LAN_INIT_DELAY=500 //ms
* Defailt MQTT broadcast input topic: myhome/in
* Default MQTT topic to publish device status: myhome/s_out
* Default Alarm output topic: alarm
* DHT, Counter, Uptime support enabled
* Wifi manager for esp8266/esp32 enabled
* RESTART_LAN_ON_MQTT_ERRORS disabled
* DEVICE_NAME disabled
* SYSLOG_ENABLE disabled
* WITH_PRINTEX_LIB disabled, using Streaming library
* CS811 and HDC1080 sensors support are enabled
If you've using Arduino IDE to compile & flash firmware, it will use Default options above and you will not able to configure additional compilers options except edit "options.h" file

1
_config.yml Normal file
View File

@@ -0,0 +1 @@
theme: jekyll-theme-cayman

View File

@@ -0,0 +1,7 @@
-DCONTROLLINO
-DCUSTOM_FIRMWARE_MAC=de:ad:be:ef:fe:07
-DWiz5100
#-DPID_DISABLE
-DRESTART_LAN_ON_MQTT_ERRORS
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"

View File

@@ -0,0 +1,20 @@
#-DW5500_CS_PIN=53
-DDMX_SMOOTH
-DSYSLOG_ENABLE
#-DMODBUS_SERIAL_PARAM=SERIAL_8E1
-DARTNET_ENABLE
-DOTA
-DSTATUSLED
#-DPID_DISABLE
#-DUARTBRIDGE_ENABLE
-DARDUINO_OTA_MDNS_DISABLE
-DMDNS_ENABLE
-DMCP23017
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"
-DTIMER_INT
-DRESTART_LAN_ON_MQTT_ERRORS
-DOTA_PORT=80
-DMERCURY_ENABLE
-D ROTARYENCODER

View File

@@ -0,0 +1,62 @@
#
-DWIFI_ENABLE
-DDMX_DISABLE
# - exeption in DMX.update/begin
#-DSPILED_DISABLE
#-DAC_DISABLE
-DMODBUS_DISABLE
#-DMBUS_DISABLE
#-DCOUNTER_DISABLE
-DSYSLOG_ENABLE
# - udp errors
-DOTA
-DARDUINO_OTA_MDNS_DISABLE
-DMDNS_ENABLE
#- ArduinoMDNS didnt working
-D CANDRV
-DMCP23017
-DMODBUS_TX_PIN=13
#-DARTNET_ENABLE - udp rx errors ((
#-DUSE_1W_PIN=16
#-DW5500_CS_PIN=15
#-DPID_DISABLE
#Define pins for modbus UART Serial1. Default - 9/10 is utilized by ESP flash
#-DMODBUS_UART_RX_PIN=15
#-DMODBUS_UART_TX_PIN=2
#-DmodbusSerial=Serial1
#-DMODBUS_DEBUG
#-DMODBUS_UART_RX_PIN=16
#-DMODBUS_UART_TX_PIN=17
#-DmodbusSerial=Serial2
# Use default pins for modbus UART
#-DMODBUS_UART_RX_PIN=-1
#-DMODBUS_UART_TX_PIN=-1
# Example of UARTBRIDGE configuration
#-DUARTBRIDGE_ENABLE
#-DMODULE_UATRBRIDGE_UARTA=Serial1
#-DMODULE_UATRBRIDGE_UARTA_RX_PIN=15
#-DMODULE_UATRBRIDGE_UARTA_TX_PIN=2
#-DMODULE_UATRBRIDGE_UARTB=Serial2
#-DMODULE_UATRBRIDGE_UARTB_RX_PIN=-1
#-DMODULE_UATRBRIDGE_UARTB_TX_PIN=-1
#-DAUTOCONNECT_RECONNECT_WAITTIME=60
-DFS_STORAGE
-DFS_PREPARE
-DRESTART_LAN_ON_MQTT_ERRORS
#-D CORS=\"http://lazyhome.ru\"
-DOTA_PORT=80
-DMQTT_KEEPALIVE=10
-DMQTT_SOCKET_TIMEOUT=20
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"
#-DMERCURY_ENABLE
-D ROTARYENCODER

View File

@@ -0,0 +1,50 @@
-DWIFI_ENABLE
-DMODBUS_DISABLE
-DOTA
-std=gnu++11
-DSYSLOG_ENABLE
-DMCP23017
-DARTNET_ENABLE
-DUSE_1W_PIN=16
-DW5500_CS_PIN=15
-DARDUINO_OTA_MDNS_DISABLE
-DMDNS_ENABLE
-DWM_MDNS
-DMCP23017
-DFS_STORAGE
-DFS_PREPARE
-DRESTART_LAN_ON_MQTT_ERRORS
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"
-DOTA_PORT=80
#oct22 - violation in Publish/OnMQTTConnect while publish homie info
-DNO_HOMIE
#options to fit firmware to Sonoff-S26 (uncomment it)
##Disabling debug log and move I2C to 1-3 pins
#-DnoSerial
#-D TWI_SCL=1
#-D TWI_SDA=3
##Slimming firmware to fit 50% of 1m flash
-DDMX_DISABLE
-UARTNET_ENABLE
-DMODBUS_DISABLE
-DMBUS_DISABLE
-DOWIRE_DISABLE
-DCOUNTER_DISABLE
-DAC_DISABLE
-DMOTOR_DISABLE
-DMULTIVENT_DISABLE
-DHSV_DISABLE
-UMCP23017
-D BEARSSL_SSL_BASIC
-D SPILED_DISABLE
-D PWM_DISABLE
# WAK for HDC1080 (pin D3 on wemos is IO0)
-D WAK_PIN=D3
-D ROTARYENCODER

View File

@@ -0,0 +1,44 @@
-DW5500_CS_PIN=53
-DARTNET_ENABLE
-DDMX_SMOOTH
-DMODBUS_SERIAL_BAUD=9600
-DOTA
-DSYSLOG_ENABLE
-DSTATUSLED
-DMCP23017
#-DPID_DISABLE
-DARDUINO_OTA_MDNS_DISABLE
-DMDNS_ENABLE
-DTIMER_INT
#-DFLASH_OFFSET=-256
# default MODBUS Serial parameters for LEGACY Modbus and MODBUS over IP
#-DMODBUS_SERIAL_PARAM=SERIAL_8E1
#Set Logariphmic law for DMX channels bright
-DBRIGHT_LOG
#disable HOMIE topics publishing
-DNO_HOMIE
#Put modbus exchange in debug hex dump
#-DMODBUS_DEBUG
#Uncomment next 3 lines (or add it to custom build flags) to use Native USB port for debug/CLI instead Serial
#-DdebugSerialPort=SerialUSB
#-DSerialPortType=Serial_
#-DSERIAL_BAUD=0
#Default SerialDebug settings
#-DSERIAL_BAUD=115200
#-DdebugSerialPort=Serial
-DRESTART_LAN_ON_MQTT_ERRORS
#-D CORS=\"http://lazyhome.ru\"
-DOTA_PORT=80
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"
-D MERCURY_ENABLE
#-D IPMODBUS
-D CONFIG_CLEAN_PIN=2
-D ROTARYENCODER

View File

@@ -0,0 +1,28 @@
-DWIFI_ENABLE
-DDMX_DISABLE
-DMODBUS_DISABLE
-DOWIRE_DISABLE
-DDHT_DISABLE
-DCOUNTER_DISABLE
-DSPILED_DISABLE
-DAC_DISABLE
-DHSV_DISABLE
-DPWM_DISABLE
-DM5STACK
#-DSYSLOG_ENABLE
-DUSE_1W_PIN=16
#-DPID_DISABLE
-DARDUINO_OTA_MDNS_DISABLE
-DMDNS_ENABLE
#-DMCP23017
-DPID_DISABLE
-DNO_HOMIE
-DFS_STORAGE
-DFS_PREPARE
-DOTA
-DRESTART_LAN_ON_MQTT_ERRORS
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"
-DOTA_PORT=80

View File

@@ -0,0 +1,19 @@
#-DWiz5500
#-DMODBUS_SERIAL_PARAM=SERIAL_8E1
-DAVR_DMXOUT_PIN=18
-DSYSLOG_ENABLE
#-DPID_DISABLE
-DARDUINO_OTA_MDNS_DISABLE
-DMDNS_ENABLE
-DNO_HOMIE
-DCSSHDC_DISABLE
-DSPILED_DISABLE
-DAC_DISABLE
-DOTA
-DRESTART_LAN_ON_MQTT_ERRORS
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"
-DOTA_PORT=80

View File

@@ -0,0 +1,12 @@
#-DMODBUS_SERIAL_PARAM=SERIAL_8E1
-DAVR_DMXOUT_PIN=18
-DSYSLOG_ENABLE
-DWiz5100
#-DPID_DISABLE
-DARDUINO_OTA_MDNS_DISABLE
-DMDNS_ENABLE
-DRESTART_LAN_ON_MQTT_ERRORS
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"
-DOTA_PORT=80

View File

@@ -0,0 +1,33 @@
#-DMODBUS_SERIAL_PARAM=SERIAL_8E1
#-DAVR_DMXOUT_PIN=18
-DDMX_DISABLE
-DMODBUS_DISABLE
-DMBUS_DISABLE
-DOWIRE_DISABLE
-DDHT_DISABLE
-DCOUNTER_DISABLE
-DNO_HOMIE
-DCSSHDC_DISABLE
-DSPILED_DISABLE
#-DAC_DISABLE
-DSYSLOG_ENABLE
-DPID_DISABLE
-DOTA
-DMOTOR_DISABLE
-DMULTIVENT_DISABLE
#-DWiz5100
-DARDUINO_OTA_MDNS_DISABLE
#-DMDNS_ENABLE
-DHSV_DISABLE
-DPWM_DISABLE
-DRESTART_LAN_ON_MQTT_ERRORS
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"
# Example of UARTBRIDGE configuration
#-DUARTBRIDGE_ENABLE
-DOTA_PORT=80
#-DMERCURY_ENABLE

View File

@@ -0,0 +1,30 @@
#-DMODBUS_SERIAL_PARAM=SERIAL_8E1
#-DAVR_DMXOUT_PIN=18
-DDMX_DISABLE
-DMODBUS_DISABLE
-DMBUS_DISABLE
#-DOWIRE_DISABLE
-DDHT_DISABLE
#-DCOUNTER_DISABLE
-DNO_HOMIE
-DCSSHDC_DISABLE
-DSPILED_DISABLE
-DAC_DISABLE
-DSYSLOG_ENABLE
-DPID_DISABLE
#-DWiz5100
-DMOTOR_DISABLE
-DOTA
-DARDUINO_OTA_MDNS_DISABLE
#-DMDNS_ENABLE
-DRESTART_LAN_ON_MQTT_ERRORS
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"
-DOTA_PORT=80
-DHSV_DISABLE
-DMULTIVENT_DISABLE
-DPID_DISABLE
-DPWM_DISABLE
-DSPILED_DISABLE
#-DOW_DEVICES_LIMIT=17

View File

@@ -0,0 +1,20 @@
#-DWiz5500
#-DW5500_CS_PIN=10
-DDMX_DISABLE
-DMODBUS_DISABLE
#-DOWIRE_DISABLE
-std=gnu++11
-DWIFI_MANAGER_DISABLE
-DCOUNTER_DISABLE
-DCSSHDC_DISABLE
-DSPILED_DISABLE
-DAC_DISABLE
-DSYSLOG_ENABLE
-DMBUS_DISABLE
-DPID_DISABLE
#-DMCP23017
-D CORS=\"*\"
-D REDIRECTION_URL=\"http://lazyhome.ru/pwa\"
#-DMERCURY_ENABLE
-D ROTARYENCODER

View File

@@ -0,0 +1,43 @@
-DDMX_DISABLE
-DMODBUS_DISABLE
-DMBUS_DISABLE
-DOWIRE_DISABLE
-DDHT_DISABLE
-DCOUNTER_DISABLE
-DNO_HOMIE
-DCSSHDC_DISABLE
-DSPILED_DISABLE
-DAC_DISABLE
-DPID_DISABLE
-DENABLE_HWSERIAL1
-DdebugSerialPort=Serial1
-D TIMER_INT
#-DFLASH_BASE_ADDRESS
#-DFLASH_DATA_SECTOR
#-DFLASH_PAGE_NUMBER
-D PIO_FRAMEWORK_ARDUINO_ENABLE_MASS_STORAGE
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC_AND_MSC
#-DdebugSerialPort=SerialUSB
#-DSerialPortType=USBSerial
#-DSERIAL_BAUD=0
#-DPIO_FRAMEWORK_ARDUINO_ENABLE_CDC
#-DUSBCON
#-DUSBD_VID=0x0483
#-DUSBD_PID=0x5740
#-DUSB_MANUFACTURER="Unknown"
#-DUSB_PRODUCT="\"BLUEPILL_F103C8\""
#-DHAL_PCD_MODULE_ENABLED
#-D USBD_USE_CDC
-D HAL_CAN_MODULE_ENABLED
#HAL_ETH_MODULE_DISABLED
#HAL_SD_MODULE_DISABLED
#HAL_DAC_MODULE_DISABLED
#-DMERCURY_ENABLE
-D ROTARYENCODER

View File

@@ -0,0 +1,12 @@
-DDMX_DISABLE
-DMODBUS_DISABLE
-DMBUS_DISABLE
-DOWIRE_DISABLE
-DDHT_DISABLE
-DCOUNTER_DISABLE
-DNO_HOMIE
-DCSSHDC_DISABLE
-DSPILED_DISABLE
-DAC_DISABLE
-DPID_DISABLE
-DUIPETHERNET

View File

@@ -0,0 +1,49 @@
-DNOIP
-DDMX_DISABLE
-DMODBUS_DISABLE
-DMBUS_DISABLE
-DOWIRE_DISABLE
-DDHT_DISABLE
-DCOUNTER_DISABLE
-DNO_HOMIE
-DCSSHDC_DISABLE
-DSPILED_DISABLE
-DAC_DISABLE
-DPID_DISABLE
-DMULTIVENT_DISABLE
-DMOTOR_DISABLE
-D CANDRV
-D THERMOSTAT_CHECK_PERIOD=5000
-D ULTRASONIC
-D TIMER_INT
-DENABLE_HWSERIAL1
-DdebugSerialPort=Serial1
#-DFLASH_BASE_ADDRESS
#-DFLASH_DATA_SECTOR
#-DFLASH_PAGE_NUMBER
# -D PIO_FRAMEWORK_ARDUINO_ENABLE_MASS_STORAGE
# -D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC_AND_MSC
#-DdebugSerialPort=SerialUSB
#-DSerialPortType=USBSerial
#-DSERIAL_BAUD=0
#-DPIO_FRAMEWORK_ARDUINO_ENABLE_CDC
#-DUSBCON
#-DUSBD_VID=0x0483
#-DUSBD_PID=0x5740
#-DUSB_MANUFACTURER="Unknown"
#-DUSB_PRODUCT="\"BLUEPILL_F103C8\""
#-DHAL_PCD_MODULE_ENABLED
#-D USBD_USE_CDC
-D HAL_CAN_MODULE_ENABLED
#HAL_ETH_MODULE_DISABLED
#HAL_SD_MODULE_DISABLED
#HAL_DAC_MODULE_DISABLED
#-DMERCURY_ENABLE
-D ROTARYENCODER

View File

@@ -0,0 +1,33 @@
# usage:
# first make your own copy of template
# cp build_flags_template build_flags_ENVNAME
# then edit, change or comment something
# place to custom-build-flags dir if you would like have your own private settings
# -DMY_CONFIG_SERVER=lazyhome.ru
# -DWATCH_DOG_TICKER_DISABLE
# -DUSE_1W_PIN=12
# -DSD_CARD_INSERTED
# -DSERIAL_BAUD=115200
# -DWiz5500
# -DDISABLE_FREERAM_PRINT
# -DCUSTOM_FIRMWARE_MAC=de:ad:be:ef:fe:ff
# -DDMX_DISABLE
# -DMODBUS_DISABLE
# -DOWIRE_DISABLE
# -DAVR_DMXOUT_PIN=18
# -DLAN_INIT_DELAY=2000
# -DCONTROLLINO
# -DESP_WIFI_AP=MYAP
# -DESP_WIFI_PWD=MYPWD
# -DWIFI_MANAGER_DISABLE
# -DRESET_PIN=5
# -DDHCP_RETRY_INTERVAL=60000
# -DRESTART_LAN_ON_MQTT_ERRORS
# -DW5500_CS_PIN=53
# -DSYSLOG_ENABLE
# -DDEVICE_NAME=MYDEVICE
# -DDHT_DISABLE
# -DCOUNTER_DISABLE
# -DWITH_PRINTEX_LIB
# -DCSSHDC_DISABLE

View File

@@ -1,21 +0,0 @@
#! /bin/bash
# usage:
# first make your own copy of template
# cp build_flags_template.sh my_build_flags.sh
# then edit, change or comment something
# nano my_build_flags.sh
# and source it
# source my_build_flags.sh
export FLAGS="-DMY_CONFIG_SERVER=lazyhome.ru"
export FLAGS="$FLAGS -DWATCH_DOG_TICKER_DISABLE"
export FLAGS="$FLAGS -DUSE_1W_PIN=12"
export FLAGS="$FLAGS -DSD_CARD_INSERTED"
export FLAGS="$FLAGS -DSERIAL_BAUD=115200"
export FLAGS="$FLAGS -DWiz5500"
export FLAGS="$FLAGS -DDISABLE_FREERAM_PRINT"
export FLAGS="$FLAGS -DCUSTOM_FIRMWARE_MAC=de:ad:be:ef:fe:00"
export FLAGS="$FLAGS -DDMX_DISABLE"
export FLAGS="$FLAGS -DMODBUS_DISABLE"
export FLAGS="$FLAGS -DOWIRE_DISABLE"
export PLATFORMIO_BUILD_FLAGS="$FLAGS"
unset FLAGS

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,513 @@
:20000000A7C00000C0C00000BEC00000BCC00000BAC00000B8C00000B6C00000B4C0000023
:20002000B2C00000B0C00000AEC00000B8C400007CC40000A8C00000A6C00000A4C0000082
:20004000A2C00000A0C000009EC000009CC000009AC0000098C0000096C0000021C100003A
:2000600092C0000090C000008EC000008CC000008AC0000088C0000086C0000084C0000028
:2000800082C0000080C000007EC000007CC000007AC0000078C000001201100102000008C4
:2000A00041233D0001000102DC0109023E00020100C0320904000001020201000524000143
:2000C00010042402060524060001070582030800FF09040100020A000000070504024000AC
:2000E0000107058302400001040309043203410072006400750069006E006F0020002800CA
:200100007700770077002E00610072006400750069006E006F002E0063006300290000003D
:200120002E03410072006400750069006E006F0020004400750065002000500072006F002D
:2001400067002E00200050006F0072007400000011241FBECFEFD2E0DEBFCDBF11E0A0E029
:20016000B1E0E2ECF0E102C005900D92A831B107D9F712E0A8E1B1E001C01D92A833B107E9
:20018000E1F722D19CC73CCF9C01DC01AE57BF4FED91FC91119741911196FC93EE93805885
:2001A0009F4FE817F90711F42D933C939FB7F894F901EC57FF4F8081815080839FBF842F6B
:2001C0000895882311F03F9A01C03F9847980895882311F046980895469A0895DF92EF9253
:2001E000FF920F931F93FC018489813019F0823019F404C010E303C010E001C010E283896E
:20020000823009F418608589873031F0883031F0863029F4126003C0146001C016601092A3
:20022000C9001092C8001092CA000785F088E188D288202F3F2D4E2D5D2D10921E01203B7C
:2002400084E0380780E0480780E0580719F481E080931E01CA01B90122E030E040E050E006
:2002600013D720583B47414E5F4FCA01B901202F3F2D4E2D5D2DE6D6215030403093CD00EB
:200280002093CC001093CA0082E08093C80088E98093C9001F910F91FF90EF90DF9008957E
:2002A0001F920F920FB60F9211242F938F939F93EF93FF939091CE008EB38430F1F4E091ED
:2002C000A201F091A3019083E091A201F091A301CF0101969093A3018093A201825A914079
:2002E00021F482E291E0928381839FB7F8948091A6018F5F8093A6019FBFFF91EF919F911B
:200300008F912F910F900FBE0F901F901895FC0140911A0140931B0180911C0180931D015F
:200320008585282F30E02170307020931A01858590E096958795817080931C0180911E013B
:20034000882339F088E790E090931901809318010895442341F4222331F082E390E09093EA
:20036000190180931801089580E091E001C680E091E0B4C51F9384B7877F84BF18E10FB6C4
:20038000F89410936000109260000FBE80E019DF469A3E9A87E690E09093CD008093CC0043
:2003A00086E08093CA001092C8001093C900539A5A9A8AB180638AB98BB180638BB9AAD203
:2003C00084E085BD1F9108950F931F93CF93DF93D1DF2FB7F89487EA91E09093280280939E
:2003E000270290932A02809329022FBF2FB7F89482E291E09093A3018093A2019093A501CC
:200400008093A4012FBF7894C7EAD1E003E08FB7F89490912B028FBF903809F180E091E0E4
:20042000D3D497FD1CC0E0912702F09128028083E0912702F0912802CF0101969093280264
:20044000809327028752924011F4D283C1839FB7F89480912B028F5F80932B029FBF8FB725
:20046000F8941091A6018FBFA89903C0113608F456C0A89A8091A601882361F05D9800937F
:200480001F0108C082E291E07FDE682F80E091E001D511501123B1F780911F01882351F0AA
:2004A00080911F01815080931F0180911F01882309F45D9A80912001882351F080912001E7
:2004C00081508093200180912001882309F45C9A809118019091190118161906E4F4CC975A
:2004E000CD9710F481E001C080E072DE80911801909119010197C29710F481E001C080E0E6
:2005000060DE80911801909119010197909319018093180104C080E05BDE80E052DE8FB704
:20052000F89490912B028FBF992369F087EA91E02BDE982F8091C80085FFFCCF9093CE00B3
:200540005C980093200180E091E095D42AD45FCFDA01923049F0933061F09130F9F4E8E924
:20056000F0E022E130E01EC0EAEAF0E02EE330E019C0813049F0813018F0823079F408C092
:20058000E8EEF0E0849107C0ECEEF0E0849103C0E0E2F1E08491282F30E004C0E0E0F0E0F4
:2005A00020E030E0ED93FC93C901089528E030E040E003C04F5F220F331F28173907D0F347
:2005C000842F8295807F08958093E9008091EB0081608093EB001092ED006093EC0040939D
:2005E000ED008091EE00881F8827881F08951092F40090E09093E9001092F0001092E80047
:200600001092ED008091EB008E7F8093EB009F5F953081F708958091300288238CF403C03B
:200620008EB38823B1F08091E80082FFF9CF8091E8008B778093E80008958EB3882349F033
:200640008091E80080FFF9CF8091E8008E778093E800089594E68091EC0080FF05C08091F8
:20066000E80080FF05C023C08091E80082FD1FC08EB3882311F482E008958EB3853011F429
:2006800083E008958091EB0085FF02C081E008958091E10082FFDFCF8091E1008B7F8093EA
:2006A000E100992311F484E008959150D4CF80E008959C014091360250913702461757079B
:2006C00018F4F90120E038C06115710511F0AB01F8CF8091E8008E778093E80040E050E073
:2006E000F0CF8091E80083FF02C081E008958091E80082FD2DC08EB3882381F18EB3853047
:2007000079F18091E80080FF17C09091F20006C081918093F100415050409F5F4115510566
:2007200011F09830A8F320E0983009F421E08091E8008E778093E8004115510591F622231E
:2007400081F606C08EB3882349F08EB3853041F08091E80082FFF6CF80E0089582E00895D5
:2007600083E008959C0140913602509137024617570710F490E03BC06115710511F0AB01F6
:20078000F9CF8091E8008E778093E80040E050E0F1CF8091E80083FF02C081E0089580913C
:2007A000E80082FD30C08EB3882399F18EB3853091F18091E80080FF1AC08091F20009C0D6
:2007C000F9012F5F3F4FE491E093F100415050408F5F4115510511F0883090F390E088300B
:2007E00009F491E08091E8008E778093E8004115510579F6992369F606C08EB3882349F071
:200800008EB3853041F08091E80082FFF6CF80E0089582E0089583E008959C0161157105ED
:2008200029F48091E8008B778093E800F90120C08091E80083FF02C081E008958EB38823A4
:2008400039F18EB3853031F18091E80082FFF0CF06C08091F10081936150704021F08091BE
:20086000F2008823B1F78091E8008B778093E80061157105E9F606C08EB3882349F08EB346
:20088000853041F08091E80080FFF6CF80E0089582E0089583E0089542D044D01EBA109299
:2008A0002E0210922D0210922C0284E089BD89B5826089BD09B400FEFDCF8091D800982F20
:2008C0009F779093D80080688093D800809163008E7F809363008091D8008F7D8093D8005D
:2008E0008091E0008E7F8093E0008091E1008E7F8093E1008091E20081608093E20080913A
:20090000E100877F8093E1008091E20088608093E2000895C1DF81E080932F02089510920B
:20092000E20008951092E10008951F920F920FB60F9211241F932F933F934F935F936F930F
:200940007F938F939F93AF93BF93EF93FF93E9EEF0E0108117701082E0EFF0E08081877F92
:2009600080837894C3D0F894A9EEB0E01C92E0EFF0E08081886080831C93FF91EF91BF91DA
:20098000AF919F918F917F916F915F914F913F912F911F910F900FBE0F901F9018951F928F
:2009A0000F920FB60F9211242F933F934F935F936F937F938F939F93AF93BF93EF93FF9383
:2009C0008091E10080FF1BC08091E20080FF17C08091E1008E7F8093E1008091E2008E7F8F
:2009E0008093E2008091E20080618093E2008091D80080628093D80019BC1EBAD1D1809123
:200A0000E10084FF29C08091E20084FF25C084E089BD89B5826089BD09B400FEFDCF809186
:200A2000D8008F7D8093D8008091E1008F7E8093E1008091E2008F7E8093E2008091E2000C
:200A400081608093E20080912E02882311F481E001C084E08EBBA4D18091E10083FF27C030
:200A60008091E20083FF23C08091E100877F8093E10082E08EBB10922E028091E1008E7FB6
:200A80008093E1008091E2008E7F8093E2008091E20080618093E200AADD80E060E042E05B
:200AA00093DD8091F00088608093F00079D18091E10082FF0AC08091E20082FF06C0809108
:200AC000E1008B7F8093E1006BD1FF91EF91BF91AF919F918F917F916F915F914F913F915B
:200AE0002F910F900FBE0F901F9018951F93DF93CF93CDB7DEB7AC970FB6F894DEBF0FBE32
:200B0000CDBFE0E3F2E08091F100819322E0E833F207C9F78091300230913102353009F42F
:200B200087C0363040F43130C9F1313070F0333009F01DC133C0383009F4EFC0393009F451
:200B4000FEC0363009F013C192C0803821F0823809F00DC108C090912C0280912D02882306
:200B600099F0926011C08091340287708093E9008091EB0090E025E0969587952A95E1F7A0
:200B8000982F91701092E9008091E800877F8093E8009093F1001092F100CAC0882319F023
:200BA000823009F0E4C090E08F719070009721F0029709F0DDC00CC080913202813009F0E4
:200BC000D7C010922D02333069F580932D022AC080913202882331F520913402277009F42F
:200BE000C7C02093E9008091EB0080FFC1C0333021F48091EB00806213C08091EB008061D0
:200C00008093EB0081E090E002C0880F991F2A95E2F78093EA001092EA008091EB008860EF
:200C20008093EB001092E9008091E800877F83C0882309F09CC0109132028091E800877F15
:200C40008093E800E8DC04C08EB3882309F490C08091E80080FFF8CF812F8F7711F492E06C
:200C600001C093E09EBB80688093E30081C08058823008F07CC0809132029091330223E06C
:200C80008C3D920799F55FB7F894DE0115964EE020E030E061E2E42FF0E060935700849175
:200CA00020FF03C082958F704F5F982F9F70892F805D8A3308F0895F8C9311961C9211976A
:200CC0002F5F3F4F12962431310529F75FBF8AE28B8383E08C838091E800877F8093E800A1
:200CE000CE0103966AE270E0E4DC11C060913402AE014F5F5F4F2CDCBC010097C9F1809106
:200D0000E800877F8093E80089819A812BDD8091E8008B778093E8002BC0803841F58091DD
:200D2000E800877F8093E80080912E028093F1008091E8008E778093E8006DDC19C08823BF
:200D4000B1F490913202923098F48091E800877F8093E80090932E025EDC80912E028823D8
:200D600011F483E001C084E08EBB01DB01C0FCDA8091E80083FF0AC08091EB0080628093F4
:200D8000EB008091E800877F8093E800AC960FB6F894DEBF0FBECDBFCF91DF911F910895C8
:200DA00008951F938EB3882361F01091E9001092E9008091E80083FF01C098DE17701093B6
:200DC000E9001F9108950895FC018EB3843021F587859089A189B2890097A105B105E1F0EA
:200DE00085818093E9008091E80082FF15C08091F200882319F42FEF3FEF04C08091F100D5
:200E0000282F30E08091F200882341F48091E8008B778093E80002C02FEF3FEFC90108951D
:200E2000FC018EB3843011F587859089A189B2890097A105B105D1F081818093E90080916D
:200E4000F2008823A9F09091E8008091E8008E778093E80095FD0CC0FDDB982F882349F475
:200E60008091E8008E778093E80003C092E001C090E0892F0895FC018EB3843051F487857B
:200E80009089A189B2890097A105B10511F0CF01C7CF08951F93FC01162F8EB38430D9F427
:200EA00087859089A189B2890097A105B10599F081818093E9008091E80085FD08C08091DA
:200EC000E8008E778093E800C5DB882329F41093F10080E001C082E01F9108950F931F930A
:200EE000CF93DF93EC010D96FC0189E0DF011D928A95E9F72A813B8109818C81882311F4EC
:200F000010E001C014E0C90151DB182B1260802F61E8412F59DB882329F12E813F810D8123
:200F20008885882311F410E001C014E0C9013EDB182B1260802F60E8412F46DB882391F003
:200F40002A853B8509858C85882311F410E001C014E0C9012BDB182B1260802F61EC412F3D
:200F600033DB01C080E0DF91CF911F910F910895CF93DF93EC018091E80083FF60C0888120
:200F800090E020913402309135022817390709F056C080913102813261F0823220F48032B2
:200FA00009F04DC019C0823269F1833209F047C038C080913002813A09F041C08091E800A6
:200FC000877F8093E800CE010F9667E070E071DB8091E8008B7713C080913002813279F587
:200FE0008091E800877F8093E800CE010F9667E070E013DCCE01F2D88091E8008E77809353
:20100000E8001DC0809130028132C9F48091E800877F8093E800809132028D87CE0177D9E6
:201020000DC080913002813251F48091E800877F8093E800CE0160913202C5DEECDADF91E1
:20104000CF910895A1E21A2EAA1BBB1BFD010DC0AA1FBB1FEE1FFF1FA217B307E407F5073A
:2010600020F0A21BB30BE40BF50B661F771F881F991F1A9469F760957095809590959B019E
:20108000AC01BD01CF01089597FB092E05260ED057FD04D0D7DF0AD0001C38F450954095EC
:2010A000309521953F4F4F4F5F4F0895F6F790958095709561957F4F8F4F9F4F0895F89459
:2010C000FFCF000340000004400000020800000000000000000000001400FFFFFFFFFFFFA3
:2010E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:20110000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:20112000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:20114000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:20116000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:20118000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:2011A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:2011C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:2011E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:20120000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:20122000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
:20124000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
:20126000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
:20128000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
:2012A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:2012C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:2012E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:20130000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
:20132000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
:20134000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
:20136000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
:20138000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:2013A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
:2013C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
:2013E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
:20140000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC
:20142000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC
:20144000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC
:20146000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C
:20148000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C
:2014A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C
:2014C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C
:2014E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C
:20150000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB
:20152000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB
:20154000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB
:20156000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B
:20158000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
:2015A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B
:2015C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B
:2015E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B
:20160000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA
:20162000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
:20164000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA
:20166000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A
:20168000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A
:2016A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A
:2016C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A
:2016E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A
:20170000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9
:20172000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9
:20174000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9
:20176000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
:20178000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69
:2017A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49
:2017C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29
:2017E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09
:20180000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8
:20182000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8
:20184000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8
:20186000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88
:20188000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68
:2018A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48
:2018C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28
:2018E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08
:20190000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7
:20192000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7
:20194000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7
:20196000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87
:20198000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67
:2019A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47
:2019C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27
:2019E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07
:201A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6
:201A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6
:201A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6
:201A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86
:201A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66
:201AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46
:201AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26
:201AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06
:201B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5
:201B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5
:201B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5
:201B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85
:201B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65
:201BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45
:201BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25
:201BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05
:201C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4
:201C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4
:201C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4
:201C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84
:201C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64
:201CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44
:201CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24
:201CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04
:201D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3
:201D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3
:201D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3
:201D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83
:201D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63
:201DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43
:201DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23
:201DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03
:201E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2
:201E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2
:201E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2
:201E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82
:201E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62
:201EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42
:201EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22
:201EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02
:201F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1
:201F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1
:201F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
:201F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81
:201F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61
:201FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:201FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:201FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01
:20200000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:20202000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:20204000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:20206000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:20208000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:2020A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:2020C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:2020E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:20210000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:20212000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
:20214000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
:20216000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
:20218000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
:2021A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
:2021C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
:2021E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:20220000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
:20222000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
:20224000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
:20226000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
:20228000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
:2022A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
:2022C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
:2022E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
:20230000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
:20232000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
:20234000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
:20236000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
:20238000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
:2023A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
:2023C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
:2023E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
:20240000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC
:20242000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC
:20244000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C
:20246000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C
:20248000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C
:2024A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C
:2024C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C
:2024E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
:20250000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB
:20252000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB
:20254000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B
:20256000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B
:20258000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B
:2025A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B
:2025C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B
:2025E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB
:20260000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA
:20262000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA
:20264000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A
:20266000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A
:20268000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A
:2026A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A
:2026C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A
:2026E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
:20270000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9
:20272000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
:20274000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
:20276000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79
:20278000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59
:2027A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39
:2027C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19
:2027E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
:20280000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8
:20282000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8
:20284000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98
:20286000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78
:20288000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58
:2028A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38
:2028C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18
:2028E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
:20290000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7
:20292000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7
:20294000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97
:20296000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77
:20298000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57
:2029A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37
:2029C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17
:2029E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7
:202A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6
:202A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6
:202A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96
:202A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76
:202A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56
:202AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36
:202AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16
:202AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6
:202B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5
:202B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5
:202B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95
:202B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75
:202B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55
:202BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35
:202BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15
:202BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5
:202C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4
:202C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4
:202C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94
:202C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74
:202C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54
:202CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34
:202CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14
:202CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4
:202D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3
:202D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3
:202D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93
:202D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73
:202D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53
:202DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33
:202DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13
:202DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3
:202E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2
:202E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2
:202E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92
:202E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72
:202E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
:202EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32
:202EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12
:202EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2
:202F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1
:202F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1
:202F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91
:202F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71
:202F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51
:202FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31
:202FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11
:202FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1
:20300000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:20302000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:20304000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:20306000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:20308000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:2030A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:2030C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:2030E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:20310000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:20312000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
:20314000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
:20316000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
:20318000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
:2031A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
:2031C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
:2031E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:20320000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
:20322000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
:20324000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
:20326000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
:20328000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
:2032A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
:2032C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
:2032E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE
:20330000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
:20332000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
:20334000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
:20336000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
:20338000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
:2033A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
:2033C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
:2033E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
:20340000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC
:20342000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC
:20344000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C
:20346000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C
:20348000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C
:2034A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C
:2034C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C
:2034E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC
:20350000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB
:20352000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB
:20354000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B
:20356000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
:20358000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B
:2035A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B
:2035C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B
:2035E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB
:20360000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
:20362000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA
:20364000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A
:20366000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A
:20368000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A
:2036A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A
:2036C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A
:2036E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA
:20370000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9
:20372000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9
:20374000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
:20376000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69
:20378000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49
:2037A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29
:2037C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09
:2037E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9
:20380000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8
:20382000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8
:20384000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88
:20386000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68
:20388000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48
:2038A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28
:2038C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08
:2038E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8
:20390000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7
:20392000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7
:20394000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87
:20396000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67
:20398000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47
:2039A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27
:2039C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07
:2039E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7
:203A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6
:203A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6
:203A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86
:203A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66
:203A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46
:203AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26
:203AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06
:203AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6
:203B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5
:203B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5
:203B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85
:203B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65
:203B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45
:203BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25
:203BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05
:203BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5
:203C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4
:203C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4
:203C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84
:203C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64
:203C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44
:203CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24
:203CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04
:203CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4
:203D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3
:203D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3
:203D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83
:203D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63
:203D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43
:203DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23
:203DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03
:203DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3
:203E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2
:203E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2
:203E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82
:203E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62
:203E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42
:203EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22
:203EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02
:203EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2
:203F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1
:203F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
:203F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81
:203F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61
:203F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:203FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:203FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01
:203FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1
:00000001FF

View File

@@ -0,0 +1,137 @@
:20000000A7C00000C0C00000BEC00000BCC00000BAC00000B8C00000B6C00000B4C0000023
:20002000B2C00000B0C00000AEC00000CBC400008FC40000A8C00000A6C00000A4C000005C
:20004000A2C00000A0C000009EC000009CC000009AC0000098C0000096C0000021C100003A
:2000600092C0000090C000008EC000008CC000008AC0000088C0000086C0000084C0000028
:2000800082C0000080C000007EC000007CC000007AC0000078C000001201100102000008C4
:2000A00041233D0001000102DC0109023E00020100C0320904000001020201000524000143
:2000C00010042402060524060001070582030800FF09040100020A000000070504024000AC
:2000E0000107058302400001040309043203410072006400750069006E006F0020002800CA
:200100007700770077002E00610072006400750069006E006F002E0063006300290000003D
:200120002E03410072006400750069006E006F0020004400750065002000500072006F002D
:2001400067002E00200050006F0072007400000011241FBECFEFD2E0DEBFCDBF11E0A0E029
:20016000B1E0E8EEF0E102C005900D92A831B107D9F712E0A8E1B1E001C01D92A833B107E1
:20018000E1F722D1AFC73CCF9C01DC01AE57BF4FED91FC91119741911196FC93EE93805872
:2001A0009F4FE817F90711F42D933C939FB7F894F901EC57FF4F8081815080839FBF842F6B
:2001C0000895882311F03F9A01C03F9847980895882311F046980895469A0895DF92EF9253
:2001E000FF920F931F93FC018489813019F0823019F404C010E303C010E001C010E283896E
:20020000823009F418608589873031F0883031F0863029F4126003C0146001C016601092A3
:20022000C9001092C8001092CA000785F088E188D288202F3F2D4E2D5D2D10921E01203B7C
:2002400084E0380780E0480780E0580719F481E080931E01CA01B90122E030E040E050E006
:2002600026D720583B47414E5F4FCA01B901202F3F2D4E2D5D2DF9D6215030403093CD00C5
:200280002093CC001093CA0082E08093C80088E98093C9001F910F91FF90EF90DF9008957E
:2002A0001F920F920FB60F9211242F938F939F93EF93FF939091CE008EB38430F1F4E091ED
:2002C000A201F091A3019083E091A201F091A301CF0101969093A3018093A201825A914079
:2002E00021F482E291E0928381839FB7F8948091A6018F5F8093A6019FBFFF91EF919F911B
:200300008F912F910F900FBE0F901F901895FC0140911A0140931B0180911C0180931D015F
:200320008585282F30E02170307020931A01858590E096958795817080931C0180911E013B
:20034000882339F08FE590E090931901809318010895442341F4222331F08EE190E09093DB
:20036000190180931801089580E091E014C680E091E0C7C51F9384B7877F84BF18E10FB69E
:20038000F89410936000109260000FBE80E019DF469A3E9A87E690E09093CD008093CC0043
:2003A00086E08093CA001092C8001093C900539A5A9A8AB180638AB98BB180638BB9BDD2F0
:2003C00084E085BD1F9108950F931F93CF93DF93D1DF2FB7F89487EA91E09093280280939E
:2003E000270290932A02809329022FBF2FB7F89482E291E09093A3018093A2019093A501CC
:200400008093A4012FBF7894C7EAD1E003E08FB7F89490912B028FBF903809F180E091E0E4
:20042000E6D497FD1CC0E0912702F09128028083E0912702F0912802CF0101969093280251
:20044000809327028752924011F4D283C1839FB7F89480912B028F5F80932B029FBF8FB725
:20046000F8941091A6018FBFA89903C0113608F469C0A89A8091A601882361F05D9800936C
:200480001F0108C082E291E07FDE682F80E091E014D511501123B1F780911F01882351F097
:2004A00080911F01815080931F0180911F01882309F45D9A80912001882351F080912001E7
:2004C00081508093200180912001882309F45C9A8091180190911901181619067CF58F3560
:2004E000910521F481E074DE80E06BDE8091180190911901839721F480E06ADE80E061DE1A
:200500008091180190911901499721F480E060DE81E057DE8091180190911901019721F43B
:2005200080E056DE80E04DDE80911801909119010197909319018093180104C080E048DEEC
:2005400080E03FDE8FB7F89490912B028FBF992369F087EA91E018DE982F8091C80085FF9F
:20056000FCCF9093CE005C980093200180E091E095D42AD44CCFDA01923049F0933061F0DA
:200580009130F9F4E8E9F0E022E130E01EC0EAEAF0E02EE330E019C0813049F0813018F0DA
:2005A000823079F408C0E8EEF0E0849107C0ECEEF0E0849103C0E0E2F1E08491282F30E041
:2005C00004C0E0E0F0E020E030E0ED93FC93C901089528E030E040E003C04F5F220F331F15
:2005E00028173907D0F3842F8295807F08958093E9008091EB0081608093EB001092ED00ED
:200600006093EC004093ED008091EE00881F8827881F08951092F40090E09093E9001092EE
:20062000F0001092E8001092ED008091EB008E7F8093EB009F5F953081F70895809130028F
:2006400088238CF403C08EB38823B1F08091E80082FFF9CF8091E8008B778093E80008954A
:200660008EB3882349F08091E80080FFF9CF8091E8008E778093E800089594E68091EC0008
:2006800080FF05C08091E80080FF05C023C08091E80082FD1FC08EB3882311F482E00895AF
:2006A0008EB3853011F483E008958091EB0085FF02C081E008958091E10082FFDFCF8091CD
:2006C000E1008B7F8093E100992311F484E008959150D4CF80E008959C0140913602509171
:2006E00037024617570718F4F90120E038C06115710511F0AB01F8CF8091E8008E77809397
:20070000E80040E050E0F0CF8091E80083FF02C081E008958091E80082FD2DC08EB3882356
:2007200081F18EB3853079F18091E80080FF17C09091F20006C081918093F1004150504088
:200740009F5F4115510511F09830A8F320E0983009F421E08091E8008E778093E800411576
:20076000510591F6222381F606C08EB3882349F08EB3853041F08091E80082FFF6CF80E02F
:20078000089582E0089583E008959C0140913602509137024617570710F490E03BC061155D
:2007A000710511F0AB01F9CF8091E8008E778093E80040E050E0F1CF8091E80083FF02C008
:2007C00081E008958091E80082FD30C08EB3882399F18EB3853091F18091E80080FF1AC073
:2007E0008091F20009C0F9012F5F3F4FE491E093F100415050408F5F4115510511F08830CA
:2008000090F390E0883009F491E08091E8008E778093E8004115510579F6992369F606C0CA
:200820008EB3882349F08EB3853041F08091E80082FFF6CF80E0089582E0089583E0089531
:200840009C016115710529F48091E8008B778093E800F90120C08091E80083FF02C081E084
:2008600008958EB3882339F18EB3853031F18091E80082FFF0CF06C08091F10081936150E7
:20088000704021F08091F2008823B1F78091E8008B778093E80061157105E9F606C08EB379
:2008A000882349F08EB3853041F08091E80080FFF6CF80E0089582E0089583E0089542D0E2
:2008C00044D01EBA10922E0210922D0210922C0284E089BD89B5826089BD09B400FEFDCF22
:2008E0008091D800982F9F779093D80080688093D800809163008E7F809363008091D80084
:200900008F7D8093D8008091E0008E7F8093E0008091E1008E7F8093E1008091E200816028
:200920008093E2008091E100877F8093E1008091E20088608093E2000895C1DF81E0809355
:200940002F0208951092E20008951092E10008951F920F920FB60F9211241F932F933F9355
:200960004F935F936F937F938F939F93AF93BF93EF93FF93E9EEF0E0108117701082E0EF73
:20098000F0E08081877F80837894C3D0F894A9EEB0E01C92E0EFF0E08081886080831C9343
:2009A000FF91EF91BF91AF919F918F917F916F915F914F913F912F911F910F900FBE0F901C
:2009C0001F9018951F920F920FB60F9211242F933F934F935F936F937F938F939F93AF93BC
:2009E000BF93EF93FF938091E10080FF1BC08091E20080FF17C08091E1008E7F8093E10009
:200A00008091E2008E7F8093E2008091E20080618093E2008091D80080628093D80019BC8D
:200A20001EBAD1D18091E10084FF29C08091E20084FF25C084E089BD89B5826089BD09B4B6
:200A400000FEFDCF8091D8008F7D8093D8008091E1008F7E8093E1008091E2008F7E8093E6
:200A6000E2008091E20081608093E20080912E02882311F481E001C084E08EBBA4D1809185
:200A8000E10083FF27C08091E20083FF23C08091E100877F8093E10082E08EBB10922E024B
:200AA0008091E1008E7F8093E1008091E2008E7F8093E2008091E20080618093E200AADDFE
:200AC00080E060E042E093DD8091F00088608093F00079D18091E10082FF0AC08091E2007E
:200AE00082FF06C08091E1008B7F8093E1006BD1FF91EF91BF91AF919F918F917F916F9183
:200B00005F914F913F912F910F900FBE0F901F9018951F93DF93CF93CDB7DEB7AC970FB667
:200B2000F894DEBF0FBECDBFE0E3F2E08091F100819322E0E833F207C9F7809130023091AE
:200B40003102353009F487C0363040F43130C9F1313070F0333009F01DC133C0383009F4B1
:200B6000EFC0393009F4FEC0363009F013C192C0803821F0823809F00DC108C090912C02BC
:200B800080912D02882399F0926011C08091340287708093E9008091EB0090E025E0969548
:200BA00087952A95E1F7982F91701092E9008091E800877F8093E8009093F1001092F1008E
:200BC000CAC0882319F0823009F0E4C090E08F719070009721F0029709F0DDC00CC0809164
:200BE0003202813009F0D7C010922D02333069F580932D022AC080913202882331F52091FB
:200C00003402277009F4C7C02093E9008091EB0080FFC1C0333021F48091EB00806213C0C2
:200C20008091EB0080618093EB0081E090E002C0880F991F2A95E2F78093EA001092EA00D6
:200C40008091EB0088608093EB001092E9008091E800877F83C0882309F09CC01091320210
:200C60008091E800877F8093E800E8DC04C08EB3882309F490C08091E80080FFF8CF812FCA
:200C80008F7711F492E001C093E09EBB80688093E30081C08058823008F07CC08091320228
:200CA0009091330223E08C3D920799F55FB7F894DE0115964EE020E030E061E2E42FF0E05B
:200CC00060935700849120FF03C082958F704F5F982F9F70892F805D8A3308F0895F8C93E8
:200CE00011961C9211972F5F3F4F12962431310529F75FBF8AE28B8383E08C838091E80085
:200D0000877F8093E800CE0103966AE270E0E4DC11C060913402AE014F5F5F4F2CDCBC0146
:200D20000097C9F18091E800877F8093E80089819A812BDD8091E8008B778093E8002BC05A
:200D4000803841F58091E800877F8093E80080912E028093F1008091E8008E778093E8006D
:200D60006DDC19C08823B1F490913202923098F48091E800877F8093E80090932E025EDCD7
:200D800080912E02882311F483E001C084E08EBBEEDA01C0E9DA8091E80083FF0AC08091EF
:200DA000EB0080628093EB008091E800877F8093E800AC960FB6F894DEBF0FBECDBFCF9185
:200DC000DF911F91089508951F938EB3882361F01091E9001092E9008091E80083FF01C079
:200DE00098DE17701093E9001F9108950895FC018EB3843021F587859089A189B289009757
:200E0000A105B105E1F085818093E9008091E80082FF15C08091F200882319F42FEF3FEF4D
:200E200004C08091F100282F30E08091F200882341F48091E8008B778093E80002C02FEFCC
:200E40003FEFC9010895FC018EB3843011F587859089A189B2890097A105B105D1F08181C5
:200E60008093E9008091F2008823A9F09091E8008091E8008E778093E80095FD0CC0FDDBF7
:200E8000982F882349F48091E8008E778093E80003C092E001C090E0892F0895FC018EB3B1
:200EA000843051F487859089A189B2890097A105B10511F0CF01C7CF08951F93FC01162FC4
:200EC0008EB38430D9F487859089A189B2890097A105B10599F081818093E9008091E80053
:200EE00085FD08C08091E8008E778093E800C5DB882329F41093F10080E001C082E01F9180
:200F000008950F931F93CF93DF93EC010D96FC0189E0DF011D928A95E9F72A813B81098197
:200F20008C81882311F410E001C014E0C90151DB182B1260802F61E8412F59DB882329F143
:200F40002E813F810D818885882311F410E001C014E0C9013EDB182B1260802F60E8412F33
:200F600046DB882391F02A853B8509858C85882311F410E001C014E0C9012BDB182B12603C
:200F8000802F61EC412F33DB01C080E0DF91CF911F910F910895CF93DF93EC018091E8003F
:200FA00083FF60C0888190E020913402309135022817390709F056C080913102813261F061
:200FC000823220F4803209F04DC019C0823269F1833209F047C038C080913002813A09F006
:200FE00041C08091E800877F8093E800CE010F9667E070E071DB8091E8008B7713C08091C0
:201000003002813279F58091E800877F8093E800CE010F9667E070E013DCCE01DFD88091F2
:20102000E8008E778093E8001DC0809130028132C9F48091E800877F8093E80080913202F9
:201040008D87CE0164D90DC080913002813251F48091E800877F8093E800CE01609132027A
:20106000C5DEECDADF91CF910895A1E21A2EAA1BBB1BFD010DC0AA1FBB1FEE1FFF1FA217E2
:20108000B307E407F50720F0A21BB30BE40BF50B661F771F881F991F1A9469F760957095B3
:2010A000809590959B01AC01BD01CF01089597FB092E05260ED057FD04D0D7DF0AD0001CDC
:2010C00038F450954095309521953F4F4F4F5F4F0895F6F790958095709561957F4F8F4F6A
:2010E0009F4F0895F894FFCF00034000000440000002080000000000000000000000140066
:00000001FF

View File

@@ -0,0 +1,277 @@
:100000009FC00000B8C00000B6C00000B4C000002F
:10001000B2C00000B0C00000AEC00000ACC0000024
:10002000AAC00000A8C00000A6C00000B5C3000020
:100030005AC40000A0C000009EC000009CC0000088
:100040009AC0000098C0000096C0000094C0000054
:1000500092C0000090C000008EC0000007C20000E7
:100060008AC0000088C0000086C0000084C0000074
:1000700082C00000D704F904EB05F904EB053E0546
:100080005B05EB05AE05C0052E0341007200640060
:10009000750069006E006F00200044007500650067
:1000A0002000500072006F0067002E0020005000FA
:1000B0006F0072007400000032034100720064009F
:1000C000750069006E006F0020002800770077003F
:1000D00077002E00610072006400750069006E00F8
:1000E0006F002E0063006300290000000403090470
:1000F00009023E00020100C03209040000010202B0
:100100000100052400011004240206052406000154
:10011000070582030800FF09040100020A0000002D
:100120000705040240000107058302400001120197
:1001300010010200000841233D0001000102DC0122
:1001400011241FBECFEFD2E0DEBFCDBF11E0A0E093
:10015000B1E0EEE1F1E102C005900D92AA31B107E4
:10016000D9F722E0AAE1B1E001C01D92A833B2079D
:10017000E1F77BD0D2C744CFFC01E058FF4FA0810C
:10018000B1816C93A081B1819D012F5F3F4F31837D
:1001900020832E173F0721F412969C938E9311977C
:1001A0002FB7F894FC01EC57FF4F80818F5F80835D
:1001B0002FBF0895DC01AE57BF4FED91FC91119711
:1001C00021911196FC93EE93AC0140585F4FE417D8
:1001D000F50711F48D939C933FB7F894FC01EC570D
:1001E000FF4F9081915090833FBF822F08958823C5
:1001F00021F03F9A47985C9808953F9847985C9AF9
:100200000895882319F046985D980895469A5D9A56
:10021000089584B7877F84BF0FB6F894A89580911E
:100220006000886180936000109260000FBE80E0E3
:10023000DEDF469A3E9A87E690E09093CD00809369
:10024000CC0086E08093CA001092C80088E18093B9
:10025000C900539A5A9A8AB180638AB98BB1806374
:100260008BB98FD284E085BD0895D3DF2FB7F89482
:1002700087EA91E0909328028093270290932A02C4
:10028000809329022FBF2FB7F89482E291E09093D8
:10029000A3018093A2019093A5018093A4012FBF95
:1002A0007894D3E09FB7F89480912B029FBF803859
:1002B00049F084E091E0C2D697FD04C0682F87EA38
:1002C00091E05ADF8FB7F894C091A6018FBFA8992B
:1002D00003C0C13608F453C0A89A8091A6018823B0
:1002E00019F05D98D0931F01CC2349F082E291E090
:1002F00061DF682F84E091E042D6C150F5CF809154
:100300001F01882341F080911F01815080931F01BC
:10031000811101C05D9A80912001882341F0809174
:100320002001815080932001811101C05C9A80914D
:1003300002019091030118161906ECF4CC97853B45
:10034000910510F481E001C080E05BDF8091020143
:10035000909103010197C29710F481E001C080E001
:1003600046DF809102019091030101979093030170
:100370008093020104C080E044DF80E038DF9FB753
:10038000F89480912B029FBF882361F087EA91E067
:1003900011DF9091C80095FFFCCF8093CE005C9850
:1003A000D093200184E091E03BD608D57BCF84E058
:1003B00091E086C584E091E013C5CF92DF92EF9281
:1003C000FF92CF93FC018489813021F0823021F4A7
:1003D000C0E203C0C0E301C0C0E08389823009F4F9
:1003E000C8608589873031F0883031F0863029F453
:1003F000C26003C0C46001C0C6601092C900109200
:10040000C8001092CA00C784D088E188F28881E0D1
:1004100090EBC91694E0D906E104F10409F080E0FC
:1004200080931A01C701B60122E030E040E050E0BD
:1004300052D6CA01B90160587B47814E9F4FA70130
:10044000960127D6215031093093CD002093CC005E
:10045000C093CA0082E08093C80088E98093C900F5
:10046000CF91FF90EF90DF90CF9008951F920F9261
:100470000FB60F9211242F933F934F935F936F9377
:100480007F938F939F93AF93BF93EF93FF9360916D
:10049000CE008EB3843019F482E291E06DDEFF91DC
:1004A000EF91BF91AF919F918F917F916F915F91EC
:1004B0004F913F912F910F900FBE0F901F90189565
:1004C00020911E0120931D0130911C0130931B01CE
:1004D000FC018585982F917090931E0186958170FF
:1004E00080931C0180911A01882319F084EB90E01D
:1004F00006C0211108C0992331F082E390E0909367
:100500000301809302010895292F332722303105FA
:1005100059F02330310569F021303105E9F482E1E9
:1005200090E02EE231E01CC08EE390E020EF30E05E
:1005300017C099278130910549F028F0029761F49E
:10054000E8E8F0E005C0ECEEF0E002C0E8EBF0E037
:10055000849190E09F0104C080E090E020E030E0D2
:10056000FA01318320830895EF92FF920F931F9336
:10057000CF93DF93CDB7DEB72A970FB6F894DEBFDF
:100580000FBECDBF7E0126E0E20EF11CFE013196CA
:100590009F01870190E09093E9005091EC00D80111
:1005A0005D938D015091ED00D9015D939D019F5F99
:1005B000953089F7282F30E08701020F131FD801EB
:1005C0006C932E0F3F1FD9014C9391E09093E9005B
:1005D0001092F0001092E8001092ED002091EB00D4
:1005E0002E7F2093EB009F5F953081F790E0208174
:1005F00021FD0BC09F5F3196BFEFEB1AFB0A9530D0
:10060000B1F78093E90081E013C09093E900209155
:10061000EB0021602093EB00D7012C912093EC009C
:1006200020812093ED002091EE0027FDE3CF80E0B4
:100630002A960FB6F894DEBF0FBECDBFDF91CF91E3
:100640001F910F91FF90EF9008951092F40080E0B9
:100650008093E9001092F0001092E8001092ED00F3
:100660009091EB009E7F9093EB008F5F853081F738
:1006700008958091300287FF0FC08091E80082FDCD
:1006800004C08EB38111F9CF10C08091E8008B7740
:100690000AC08EB3882349F08091E80080FFF9CF2B
:1006A0008091E8008E778093E800089585E6909128
:1006B000EC0090FF05C09091E80090FF05C01BC0C2
:1006C0009091E80092FD17C09EB39923B1F09EB3BC
:1006D0009530A9F09091EB0095FD13C09091E10049
:1006E00092FFE5CF9091E1009B7F9093E1008150D4
:1006F000F1F684E0089580E0089582E0089583E0B3
:10070000089581E0089542D044D01EBA10922E027E
:1007100010922D0210922C0284E089BD89B582606E
:1007200089BD09B400FEFDCF8091D800982F9F7736
:100730009093D80080688093D800809163008E7F6A
:10074000809363008091D8008F7D8093D800809142
:10075000E0008E7F8093E0008091E1008E7F8093A7
:10076000E1008091E20081608093E2008091E100ED
:10077000877F8093E1008091E20088608093E200AF
:100780000895C1DF81E080932F0208951092E20066
:1007900008951092E10008951F920F920FB60F92E4
:1007A00011242F933F934F935F936F937F938F9376
:1007B0009F93AF93BF93EF93FF938091E10080FFEE
:1007C0001BC08091E20080FF17C08091E1008E7F06
:1007D0008093E1008091E2008E7F8093E20080911F
:1007E000E20080618093E2008091D8008062809373
:1007F000D80019BC1EBAFBD18091E10084FF29C04A
:100800008091E20084FF25C084E089BD89B58260C3
:1008100089BD09B400FEFDCF8091D8008F7D809303
:10082000D8008091E1008F7E8093E1008091E2000A
:100830008F7E8093E2008091E20081608093E200ED
:1008400080912E02811102C081E001C084E08EBB44
:10085000CED18091E10083FF27C08091E20083FF29
:1008600023C08091E100877F8093E10082E08EBB0E
:1008700010922E028091E1008E7F8093E1008091A2
:10088000E2008E7F8093E2008091E200806180939D
:10089000E200DBDE42E060E080E066DE8091F000B6
:1008A00088608093F000A3D18091E10082FF0AC0AC
:1008B0008091E20082FF06C08091E1008B7F8093EF
:1008C000E10095D1FF91EF91BF91AF919F918F91F1
:1008D0007F916F915F914F913F912F910F900FBE3C
:1008E0000F901F9018951F920F920FB60F92112420
:1008F000FF920F931F932F933F934F935F936F93A9
:100900007F938F939F93AF93BF93CF93DF93EF9397
:10091000FF93C9EED0E088818770F82E188200EF2F
:1009200010E0F8018081877F808378941DD0F8944F
:100930001882F801808188608083F882FF91EF91AE
:10094000DF91CF91BF91AF919F918F917F916F91E7
:100950005F914F913F912F911F910F91FF900F90B9
:100960000FBE0F901F9018951F93CF93DF93CDB7B5
:10097000DEB7AA970FB6F894DEBF0FBECDBFE0E397
:10098000F2E088E392E02091F10021938E179F0717
:10099000D1F78091300290913102492F50E04A30D6
:1009A000510508F018C1FA01E65CFF4FB0C380386A
:1009B00081F0823809F00FC18091340287708093F2
:1009C000E9008091EB0085FB882780F91092E9000F
:1009D00006C080912C0290912D029111826090911D
:1009E000E800977F9093E8008093F1001092F10067
:1009F000C0C0282F2D7F09F0EEC0882319F0823067
:100A000061F0DAC080913202813009F0D5C09330B4
:100A100009F080E080932D022BC080913202811179
:100A200027C080913402877009F4C6C08093E90022
:100A30002091EB0020FFC0C0933021F48091EB00A7
:100A4000806214C09091EB0090619093EB0021E0E4
:100A500030E0A90102C0440F551F8A95E2F7409388
:100A6000EA001092EA008091EB0088608093EB002E
:100A70001092E9008091E800877F7EC08111ABC0B1
:100A8000109132028091E800877F8093E800F1DDC9
:100A90008091E80080FD04C08EB38111F9CF8CC035
:100AA000812F8F7711F492E001C093E09EBB8068A4
:100AB0008093E30081C08058823008F08CC0809120
:100AC0003202909133028C3D53E0950779F583E033
:100AD0008A838AE289833FB7F894DE01139690E017
:100AE0002EE041E2E22FF0E040935700E49190FFC6
:100AF00003C0E295EF702F5FEF7080E38E0F8A33B3
:100B000010F0E95C01C0E82FF0E0ED93FD939F5FEA
:100B1000943141F73FBF8091E800877F8093E800E0
:100B20006AE270E0CE01019663D012C0AE014F5F61
:100B30005F4F60913402E8DCBC01892B09F43CC0B2
:100B40009091E800977F9093E80089819A81A6D0E0
:100B50008091E8008B778093E8002EC08038D9F52B
:100B60008091E800877F8093E80080912E02809337
:100B7000F1008091E8008E778093E8007ADD1CC058
:100B8000811129C0809132029091330299270297F6
:100B90009CF48091E800877F8093E8008091320286
:100BA00080932E0266DD80912E02811102C083E0C7
:100BB00001C084E08EBBFBDB8091E80083FF0DC0A9
:100BC0008091EB0080628093EB008091E800877F4A
:100BD0008093E80002C0EEDBEFCFAA960FB6F89440
:100BE000DEBF0FBECDBFDF91CF911F910895089555
:100BF00020913602309137022617370748F06115E9
:100C0000710539F42091E8002E772093E80001C0A7
:100C1000B90130E06115710561F12091E80023FD13
:100C200037C02091E80022FD2DC02EB3222391F180
:100C30002EB3253089F12091E80020FFEBCF2091E1
:100C4000F200FC01CF016115710549F0283038F43C
:100C500081918093F100615071092F5FF3CF31E0F2
:100C6000283009F030E02091E8002E772093E8004A
:100C7000D1CF3111D2CF06C08EB3882359F08EB3B5
:100C8000853051F08091E80082FFF6CF80E0089532
:100C900081E0089582E0089583E00895209136026E
:100CA000309137022617370748F06115710539F47E
:100CB0002091E8002E772093E80001C0B90130E0D0
:100CC0006115710569F12091E80023FD38C020917C
:100CD000E80022FD2EC02EB3222399F12EB3253039
:100CE00091F12091E80020FFEBCF2091F200FC0170
:100CF000CF016115710551F0283040F48491809343
:100D0000F100615071092F5F3196F2CF31E0283048
:100D100009F030E02091E8002E772093E800D0CF52
:100D20003111D1CF06C08EB3882359F08EB38530F0
:100D300051F08091E80082FFF6CF80E0089581E0D5
:100D4000089582E0089583E008956115710529F4FE
:100D50002091E8002B772093E8006115710511F1CF
:100D60002091E80023FD24C02EB3222319F12EB3D5
:100D7000253011F12091E80022FFEFCF2091F20001
:100D8000222331F301962091F100FC013197208359
:100D90006150710999F7DCCF8EB3882359F08EB377
:100DA000853051F08091E80080FFF6CF80E0089513
:100DB00081E0089582E0089583E00895CF938EB393
:100DC000882359F0C091E900C7701092E900809122
:100DD000E80083FDC9DDC093E900CF91089508952F
:100DE000CF93DF932091E80023FF67C0FC012081AF
:100DF00030E040913402509135024217530709F018
:100E00005CC0EC0180913102813251F018F48032E3
:100E1000E1F053C0823281F1833209F43EC04DC00B
:100E200080913002813A09F048C08091E800877FC4
:100E30008093E80067E070E0CF010F96D9DE8091E3
:100E4000E8008B778093E80038C0809130028132CF
:100E5000A1F58091E800877F8093E80067E070E06B
:100E6000CF010F9672DF8091E8008E778093E800C3
:100E7000CE01DF91CF91A1CA809130028132E9F495
:100E80008091E800877F8093E800F3DB8091320255
:100E90008D87CE01DF91CF9113CB809130028132CB
:100EA00061F48091E800877F8093E800E2DB609145
:100EB0003202CE01DF91CF9192CFDF91CF91089591
:100EC000CF93DF93EC01FC013D9689E0DF011D9299
:100ED0008A95E9F78C81811102C090E001C094E00D
:100EE0006A817B81898128E030E040E0261737075E
:100EF00020F44F5F220F331FF9CF4295407F92605D
:100F0000492B61E831DB8823B1F18885811102C06A
:100F100090E001C094E06E817F818D8128E030E017
:100F200040E02617370720F44F5F220F331FF9CF19
:100F30004295407F9260492B60E816DB8823D9F008
:100F40008C85811102C090E001C094E06A857B85A8
:100F5000898528E030E040E02617370720F44F5F0E
:100F6000220F331FF9CF4295407F9260492B61ECED
:100F7000DF91CF91F9CA80E0DF91CF9108950F936F
:100F80001F93CF932EB32430F1F4FC010785108911
:100F900021893289012B022B032BA9F0C62F8181D5
:100FA0008093E9008091E80085FF04C0C093F100C0
:100FB00080E00AC08091E8008E778093E80076DBBD
:100FC0008823A1F301C082E0CF911F910F91089572
:100FD0002EB3243019F5FC01478550896189728947
:100FE000452B462B472BD1F081818093E9008091DE
:100FF000F200882389F09091E8008091E8008E77D4
:101000008093E80095FD08C051DB811108C08091F4
:10101000E8008E778093E80080E0089582E00895EC
:101020002EB3243051F4FC014785508961897289BF
:10103000452B462B472B09F0CBCF08952EB32430F8
:1010400019F08FEF9FEF0895FC0147855089618962
:101050007289452B462B472BA1F385818093E900AC
:101060008091E80082FFEDCF8091F200882321F08B
:101070002091F10030E002C02FEF3FEF8091F200AD
:10108000811105C08091E8008B778093E800C90149
:101090000895A1E21A2EAA1BBB1BFD010DC0AA1FB9
:1010A000BB1FEE1FFF1FA217B307E407F50720F0D1
:1010B000A21BB30BE40BF50B661F771F881F991F4C
:1010C0001A9469F760957095809590959B01AC0195
:1010D000BD01CF010895052E97FB16F400940FD0A3
:1010E00057FD05D0D6DF07FC02D046F408C0509566
:1010F0004095309521953F4F4F4F5F4F0895909504
:101100008095709561957F4F8F4F9F4F0895EE0F9B
:0E111000FF1F0590F491E02D0994F894FFCF95
:10111E0014003200000340000004400000020800EA
:0A112E0000000000000000000000B7
:00000001FF

View File

@@ -0,0 +1 @@
avrdude -c arduino -P /dev/cu.usbmodem144101 -b 19200 -p m16u2 -vvv -U flash:r:16u2-out.hex:i

View File

@@ -0,0 +1,16 @@
REM fetch DeviceID of Arduino Port from WMI Service
FOR /f "tokens=* skip=1" %%a IN ('wmic PATH Win32_SerialPort Where "Caption LIKE '%%Arduino Uno%%'" get DeviceID') DO (
SET COMX=%%a
GOTO exit1
)
REM Arduino Due Programming Port not exist
GOTO error_comport
:exit1
REM remove blank
SET COMPORT=%COMX: =%
..\tools\win\tool-avrdude\avrdude -C ..\tools\win\tool-avrdude\avrdude.conf -c arduino -P %COMPORT% -b 19200 -p m16u2 -vvv -U flash:w:Arduino-usbserial.hex:i

View File

@@ -0,0 +1 @@
avrdude -c arduino -P /dev/cu.usbmodem144101 -b 19200 -p m16u2 -vvv -U flash:w:Arduino-usbserial.hex:i

View File

@@ -0,0 +1,3 @@
#avrdude should be installed via homebrew
#avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -c arduino -P /dev/cu.usbmodem144101 -b 19200 -p m16u2 -vvv -U flash:w:16u2-original.hex:i
avrdude -c arduino -P /dev/cu.usbmodem144101 -b 19200 -p m16u2 -vvv -U flash:w:16u2-original.hex:i

View File

@@ -0,0 +1,3 @@
#avrdude should be installed via homebrew
#avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -c arduino -P /dev/cu.usbmodem144101 -b 19200 -p m16u2 -vvv -U flash:w:16u2-original.hex:i
avrdude -c arduino -P /dev/cu.usbmodem144101 -b 19200 -p m16u2 -vvv -U flash:w:16u2-italiano.hex:i

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,46 @@
{
"syslog":["192.168.88.2"],
"mqtt":["elev","192.168.88.22"],
"dmx":[30],
"items": {
"relay1":[6,32],
"relay2":[6,33],
"relays":[7,["relay1","relay2"]],
"sensair1":[44,[254,
"sensair",
{"co2":{"emit":"co2"}},
{"mode":"auto"}
]
],
"elevator":[15,{"baud":9600,"serial":"8N1"]
},
"modbus":
{
"sensair":{"baud":9600,
"poll":{"irs":[[0,3],21,[25,30]],"regs":[0,1,31],"delay":1000},
"par":{
"co2":{"ir":3},
"meterStat":{"ir":0},
"alarmStat":{"ir":1},
"outStat":{"ir":0},
"pwm":{"ir":21},
"typeid":{"ir":25,"type":"u32"},
"mapver":{"ir":27},
"fwver":{"ir":28},
"sensorid":{"ir":29,"type":"u32"},
"ack":{"reg":0},
"command":{"reg":1},
"abc":{"reg":31}
}
}
},
"in":{ "23":{"item":"relays","emit":"in1"},
"25":{"item":"relays","emit":"in2"},
"27":{"item":"relays","emit":"in3"},
"29":{"item":"relays","emit":"in4"}
}
}

View File

@@ -0,0 +1 @@
../tools/mac/arduinoOTA -d -address 192.168.88.70 -port 65280 -username arduino -password password -b /config

View File

@@ -0,0 +1 @@
../tools/mac/arduinoOTA -address elev.local -port 65280 -username arduino -password password -sketch config.json -b -upload /config.json

View File

@@ -0,0 +1 @@
..\tools\win\arduinoOTA.exe -address 192.168.88.21 -port 65280 -username arduino -password password -sketch firmware.bin -b -upload /sketch

View File

@@ -0,0 +1 @@
../tools/mac/arduinoOTA -address 192.168.11.213 -port 65280 -username arduino -password password -sketch firmware.bin -b -upload /sketch

View File

@@ -0,0 +1,61 @@
:020000023000CC
:10FC000002C0EFC037C1112484B7882369F0982F50
:10FC10009A70923049F081FF02C097EF94BF282E6E
:10FC200080E002D10C94000085E08093810082E0A6
:10FC30008093C00088E18093C1008CE08093C40071
:10FC400086E08093C2008EE0EFD0279A84E023EC18
:10FC50003FEF91E0309385002093840096BBB09BEA
:10FC6000FECF1F9AA8954091C00047FD02C0815069
:10FC700089F7CED0813479F4CBD0C82FDBD0C2380D
:10FC800011F480E004C088E0C13809F083E0B9D005
:10FC900080E1B7D0EECF823419F484E1D3D0F8CF2D
:10FCA000853411F485E0FACF853581F4B1D0E82EA2
:10FCB000AFD0F82E87FF07C08BB781608BBFEE0CEB
:10FCC000FF1CB8D0E5CF8BB78E7FF8CF863579F49F
:10FCD0009FD08D3451F49CD0CBB79AD0C170880F8F
:10FCE0008C2B8BBF81E0AED0CCCF83E0FCCF8436B1
:10FCF00009F046C08DD0C82FD0E0DC2FCC2788D0AB
:10FD0000C82B86D0D82E5E018EEFB81A00E012E024
:10FD10004801EFEF8E1A9E0A7BD0F80180838401A0
:10FD20008A149B04A9F786D0F5E410E000E0DF1602
:10FD300009F150E040E063E0C70153D08701C12CD6
:10FD400092E0D92EF601419151916F0161E0C80115
:10FD500048D00E5F1F4F2297A9F750E040E065E0C2
:10FD6000C7013FD095CF6081C8018E0D9F1D01D185
:10FD70000F5F1F4FF801FE5FC017D107A1F788CFB3
:10FD8000843701F545D0C82FD0E0DC2FCC2740D0F8
:10FD9000C82B3ED0D82E4ED08701F5E4DF120BC021
:10FDA000CE0DDF1DC801DDD02CD00F5F1F4FC01757
:10FDB000D107C1F76DCFF80187918F0122D021972C
:10FDC000D1F766CF853739F435D08EE11AD088E97E
:10FDD00018D081E05CCF813509F073CF88E024D062
:10FDE00070CFFC010A0167BFE895112407B600FC3B
:10FDF000FDCF667029F0452B19F481E187BFE895A6
:10FE000008959091C00095FFFCCF8093C60008959F
:10FE10008091C00087FFFCCF8091C00084FD01C0AD
:10FE2000A8958091C6000895E0E6F0E098E19083FF
:10FE300080830895EDDF803219F088E0F5DFFFCF91
:10FE400084E1DFCFCF93C82FE3DFC150E9F7CF9133
:10FE5000F1CFCF92DF92EF92FF92DC01CB01642FC2
:10FE60006D01EE24FF24CBBEA901FF90EF90DF903F
:10FE7000CF90B7CF2F923F924F925F926F927F9227
:10FE80008F929F92AF92BF92CF92DF92EF92FF92AA
:10FE90000F931F93CF93DF9300D0CDB7DEB7180138
:10FEA000E9826B017C0110E000E029013A014C1865
:10FEB0005D086E087F0846015701840C951CA61C3E
:10FEC000B71C0215130531F489818823A1F188E05C
:10FED000ABDFFFCF30E020E043E0C701B601B9DF80
:10FEE00080E890E09B838A83ABBEF4012791369132
:10FEF000C501B401641975098609970941E0A9DFB4
:10FF00008A819B8101979B838A8392E0890E911C51
:10FF1000A11CB11C8A819B81892B31F730E020E044
:10FF200045E0C701B60195DF9FEFD91AE90AF90A42
:10FF30000F5F1F4FC0CF0F900F900F90DF91CF91A9
:10FF40001F910F91FF90EF90DF90CF90BF90AF90F7
:10FF50009F908F907F906F905F904F903F902F90E9
:10FF60000895F999FECF92BD81BDF89A992780B581
:10FF70000895262FF999FECF1FBA92BD81BD20BDED
:0EFF80000FB6F894FA9AF99A0FBE01960895FA
:02FFFE000008F9
:040000033000FC00CD
:00000001FF

View File

@@ -0,0 +1 @@
..\tools\win\tool-avrdude\avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -v -V -P com8 -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i

View File

@@ -0,0 +1 @@
..\tools\arduinoOTA.exe -address 192.168.11.213 -port 80 -username arduino -password password -sketch firmware.bin -b -upload /sketch

View File

@@ -0,0 +1,2 @@
#!/bin/sh
../tools/mac/arduinoOTA -address 192.168.11.10 -port 80 -username arduino -password password -sketch firmware.bin -b -upload /sketch

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

15
compiled/check_bin.sh Executable file
View File

@@ -0,0 +1,15 @@
diff ../.pio/build/due/firmware.bin due
diff ../.pio/build/controllino/firmware.hex controllino
diff ../.pio/build/m5stack/firmware.bin m5stack
diff ../.pio/build/mega2560slim-5100/firmware.hex mega2560slim-5100
diff ../.pio/build/mega2560slim-5100/firmware.bin mega2560slim-5100
diff ../.pio/build/mega2560-optiboot/firmware.hex mega2560-optiboot
diff ../.pio/build/mega2560-optiboot/firmware.bin mega2560-optiboot
diff ../.pio/build/mega2560-5100/firmware.hex mega2560-5100
diff ../.pio/build/nrf52840/firmware.hex nrf52840-5500
diff ../.pio/build/esp32-wifi/firmware.bin esp32-wifi
diff ../.pio/build/stm32-enc2860/firmware.bin stm32-enc2860
diff ../.pio/build/esp8266-wifi/firmware.bin esp8266-wifi
diff ../.pio/build/lighthub21/firmware.bin lighthub21
diff ../.pio/build/mega2560-5500/firmware.hex mega2560-5500
diff ../.pio/build/stm32/firmware.* stm32

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
..\tools\win\tool-avrdude\avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -v -V -P com3 -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i

1
compiled/controllino/upload.sh Executable file
View File

@@ -0,0 +1 @@
../tools/mac/tool-avrdude/avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -v -V -P /dev/cu.usbmodem1411 -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i

BIN
compiled/due/firmware.bin Executable file

Binary file not shown.

2
compiled/due/sendcommand.sh Executable file
View File

@@ -0,0 +1,2 @@
#../tools/mac/arduinoOTA -address 192.168.88.21 -port 65280 -username arduino -password password -sketch firmware.bin -b -upload /sketch
curl --basic --user arduino:password --data-ascii "$2" --url http://192.168.88.21:65280/command/$1

90
compiled/due/upload.bat Normal file
View File

@@ -0,0 +1,90 @@
@ECHO off
REM Wait X second for memory on Arduino Due is erased.
SET WAIT_ERASED=4
ECHO ------ External tool BossacArduinoDue started ------
REM number of command line arguments ok?
REM IF [%1]==[] GOTO error_args
REM IF [%2]==[] GOTO error_args
REM set command line arguments
SET BOSSACPATH=..\tools\win\tool-bossac\bossac.exe
SET BINFILE=firmware.bin
REM parse command line arguments
SET BOSSACPATH=%BOSSACPATH:"=%
SET BINFILE=%BINFILE:"=%
REM workeround for bug in Atmel Studio 6.0.1996 Service Pack 2
SET BINFILE=%BINFILE:\\=\%
SET BINFILE=%BINFILE:.cproj=%
REM bossac path exist?
IF NOT EXIST "%BOSSACPATH%" GOTO error_arg1
REM bin file exist?
IF NOT EXIST "%BINFILE%" GOTO error_binfile
REM fetch DeviceID of Arduino Due Programming Port from WMI Service
FOR /f "tokens=* skip=1" %%a IN ('wmic PATH Win32_SerialPort Where "Caption LIKE '%%USB%%'" get DeviceID') DO (
SET COMX=%%a
GOTO exit1
)
REM Arduino Due Programming Port not exist
GOTO error_comport
:exit1
REM remove blank
SET COMPORT=%COMX: =%
REM report in Atmel Studio 6.0 IDE output window
ECHO BossacPath=%BOSSACPATH%
ECHO BinFile=%BINFILE%
ECHO Arduino Due Programming Port is detected as %COMPORT%.
REM The bossac bootloader only runs if the memory on Arduino Due is erased.
REM The Arduino IDE does this by opening and closing the COM port at 1200 baud.
REM This causes the Due to execute a soft erase command.
ECHO Forcing reset using 1200bps open/close on port
ECHO MODE %COMPORT%:1200,N,8,1
MODE %COMPORT%:1200,N,8,1
REM Wait X second for memory on Arduino Due is erased.
ECHO Wait for memory on Arduino Due is erased...
PING -n %WAIT_ERASED% 127.0.0.1>NUL
REM Execute bossac.exe
ECHO Execute bossac with command line:
ECHO "%BOSSACPATH%" -i -d --port=%COMPORT% -U false -e -w -v -b "%BINFILE%" -R
START /WAIT "" "%BOSSACPATH%" -i --port=%COMPORT% -U false -e -w -v -b "%BINFILE%" -R
GOTO end
:error_args
ECHO Error: wrong number of command line arguments passed!
GOTO end
:error_arg1
ECHO Error: command line argument 1 - path to bossac.exe not exist! - "C:\Program Files (x86)\arduino-1.5.2\hardware\tools\bossac.exe"
ECHO Error: command line argument 1 - argument passed = %1
GOTO end
:error_arg2
ECHO Error: command line argument 2 - path to bin file not exist! - use $(OutputDirectory)\$(OutputFileName).bin
ECHO Error: command line argument 2 - argument passed = %1
GOTO end
:error_binfile
ECHO Error: bin file "%BINFILE%" not exist!
GOTO end
:error_comport
ECHO Error: Arduino Due Programming Port not found!
:end
ECHO ======================== Done ========================

3
compiled/due/upload.sh Executable file
View File

@@ -0,0 +1,3 @@
export PORT=cu.usbmodem14201
echo . | stty -f /dev/$PORT speed 1200
../tools/mac/tool-bossac/bossac -U false -p $PORT -i -e -w -v -b firmware.bin -R

View File

@@ -0,0 +1 @@
..\tools\win\arduinoOTA.exe -address 192.168.88.21 -port 65280 -username arduino -password password -sketch firmware.bin -b -upload /sketch

1
compiled/due/uploadOTA.sh Executable file
View File

@@ -0,0 +1 @@
../tools/mac/arduinoOTA -address 192.168.88.21 -port 80 -username arduino -password password -sketch firmware.bin -b -upload /sketch

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -0,0 +1 @@
1234567890

View File

@@ -0,0 +1,62 @@
{
"syslog":["192.168.88.2"],
"mqtt1":["esp32","m2m.eclipse.org"],
"mqtt":["elevator","192.168.88.2"],
"mqtt4":["esp32","test.mosquitto.org"],
"dmx":[30],
"items": {
"relay1":[6,32],
"relay2":[6,33],
"relays":[7,["relay1","relay2"]],
"sensair1":[44,[254,
"sensair",
{"co2":{"emit":"co2"}},
{"mode":"auto"}
]
],
"elevator":[15,{"baud":9600,"serial":"8N1","ip":"192.168.88.255","port":502}],
"aaa1":[44,[254,
"aaa",
{"aaa1":{"emit":"aaa2"}},
{"mode":"auto"}
]
]
},
"modbus":
{
"aaa":
{"baud":19200,
"poll":{"irs":[1]},
"par":{
"aaa1":{"ir":1}
}
},
"sensair":{"baud":9600,
"poll":{"irs":[[0,3],21,[25,30]],"regs":[0,1,31],"delay":1000},
"par":{
"co2":{"ir":3},
"meterStat":{"ir":0},
"alarmStat":{"ir":1},
"outStat":{"ir":0},
"pwm":{"ir":21},
"typeid":{"ir":25,"type":"u32"},
"mapver":{"ir":27},
"fwver":{"ir":28},
"sensorid":{"ir":29,"type":"u32"},
"ack":{"reg":0},
"command":{"reg":1},
"abc":{"reg":31}
}
}
},
"in":{ "34":{"item":"relays","emit":"myhome/in/bedr","scmd":"TOGGLE","rcmd":""},
"17":{"T":64,"emit":"analog","map":[0,1024,0,100,15]}
}
}

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,2 @@
~/.platformio/packages/tool-mkspiffs/mkspiffs_espressif32_arduino -s 20480 -c data data.bin
../tools/mac/arduinoOTA -v -address 192.168.88.50 -port 80 -username arduino -password password -sketch data.bin -upload /data -b

View File

@@ -0,0 +1 @@
../tools/mac/arduinoOTA -v -address 192.168.11.207 -port 80 -username arduino -password password -sketch firmware.bin -upload /sketch -b

Binary file not shown.

View File

@@ -0,0 +1,31 @@
Компактная сборка с набором опций, умещающаяся в 50 процентов flash ESP12
CLI и отладочная информация на serial0 отключена для возможности использования PIN0-1
(-)MULTIVENT
(+)PWM_RELAY
(+)MDNS
(-)UARTBRIDGE
(+)SYSLOG
(+)PID
(-)MCP23017
(-)ARTNET
(+)OTA
(-)SPI LED
(-)MOTOR CTR
(+)AC HAIER
(+)CCS811 & HDC1080
(+)RESTART_LAN_ON_MQTT_ERRORS
(-)HARDRESET, using soft
(-)COUNTER
(+)DHT
(-)OWIRE
(-)IPMODBUS
(-)MODBUS
(-)DMX
(+)WiFi
(+)FreeRam printing
(+)WATCHDOG
Config server:lazyhome.ru
201703L C++
version:e9355ef_2023-10-31

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,32 @@
Полная версия прошивки
(+)MULTIVENT
(+)PWM_RELAY
(+)MDNS
(-)UARTBRIDGE
(+)SYSLOG
(+)PID
(+)MCP23017
(+)ARTNET
(+)OTA
(+)SPI LED
(+)MOTOR CTR
(+)AC HAIER
(+)CCS811 & HDC1080
(+)RESTART_LAN_ON_MQTT_ERRORS
(-)HARDRESET, using soft
(+)COUNTER
(+)DHT
(-)DS2482-100 USE_1W_PIN
(+)OWIRE
(-)IPMODBUS
(+)MODBUS SERIAL_8N1 at Serial1 speed:9600
(+)ADAFRUIT LED
(+)DMX
(+)WiFi
(+)FreeRam printing
(+)WATCHDOG
lazyhome.ru
Config server:
201703L C++ version:e9355ef_2023-10-31

View File

@@ -0,0 +1 @@
../../tools/mac/arduinoOTA -address 192.168.11.208 -port 80 -username arduino -password password -b -upload /sketch -sketch firmware.bin

View File

@@ -0,0 +1 @@
arduinoOTA -address 192.168.11.208 -port 80 -username arduino -password password -b -upload /sketch -sketch firmware.bin

1
compiled/esp8266-wifi/ota.sh Executable file
View File

@@ -0,0 +1 @@
../tools/mac/arduinoOTA -address 192.168.11.208 -port 80 -username arduino -password password -b -upload /sketch -sketch firmware.bin

View File

@@ -0,0 +1 @@
wmic PATH Win32_SerialPort get DeviceID

View File

@@ -0,0 +1,215 @@
{
"dmx":[3,60],
"syslog":["192.168.88.2"],
"dmxin":["led5","led6","led7","led8"],
"topics":{"root":"lazyhome.ru"},
"mqtt":["lazyhome.ru-939a","192.168.88.3"],
"modbus":
{
"airset":{
"baud":9600,
"serial":"8E1",
"poll":{"regs":[[0,38],[1000,1008]],"delay":100000},
"par":{
"uheat":{"reg":0,"type":"u16"},
"umot":{"reg":2,"type":"u16"},
"amode":{"reg":3,"type":"u8","map":{}},
"onoff":{"reg":1000},
"fsauto":{"reg":1001},
"pmode":{"reg":1002},
"set":{"reg":1003},
"frcautoff":{"reg":1007},
"fault":{"reg":1008},
"t_heat":{"reg":8,"map":[0,1024,0,1024],"type":"i16"},
"mode":{"reg":24}
}
},
"dim4":{"serial":"8N1",
"poll":{"regs":[[0,4]],"delay":100000},
"par":{
"ch1":{"reg":0,"map":[]},
"ch2":{"reg":1,"map":[]},
"ch3":{"reg":2,"map":[]},
"ch4":{"reg":3,"map":[]}
}
},
"panel":{
"serial":"8E1",
"poll":{"regs":[[40000,40014],[30000,30002]],"delay":10000},
"par":{
"fan" :{"reg":40000,"map":[1,[0,7,0,100]],"id":1},
"mode" :{"reg":40001,"mapcmd":[2,[[1,"FAN_ONLY"],[2,"HEAT"],[4,"COOL"],[8,"AUTO"]]]},
"set" :{"reg":40002,"id":2},
"pwr" :{"reg":40003,"mapcmd":[2,[[0,2],[1,1]]]},
"alm01":{"reg":40004},
"alm17":{"reg":40005},
"alm33":{"reg":40006},
"sethum" :{"reg":40007,"id":3},
"setvoc" :{"reg":40008,"id":4},
"temp" :{"reg":30000,"map":[1,[-1000,1000,-100.0,100.0]],"type":"x10"},
"hum" :{"reg":30001},
"voc" :{"reg":30002},
"ch_temp" :{"reg":40009,"type":"x10","id":5},
"ext_temp" :{"reg":40010,"type":"x10","id":6},
"out_temp" :{"reg":40011,"type":"x10","id":7},
"water_temp" :{"reg":40012,"type":"x10","id":8},
"ch_hum" :{"reg":40013},
"heat_pwr":{"reg":40014}
}
}
},
"ow":{
"2861641227C1EFED":[{"emit":"t_1","item":"pid0/val"},{"emit":"pid_t"}]
},
"items": {
"dimer1":[44,[1,
"dim4",
{"ch1":{"emit":"aaa1"},"ch2":{"emit":"aaa2"},"ch3":{"emit":"aaa3"}},
{"mode":"auto"}
]
],
"p_bedr":[44,[2,"panel",
{
"fan" :{"sa":10, "act":
[
{"emit":"edem/ac/bedr/fan"},
{"emit":"edem/vent/bedr/fan"}
]
},
"mode":{"sa":11,"emit":"edem/ac/bedr/mode"},
"pwr" :{"sa":12,"emit":"edem/ac/bedr/pwr"},
"sethum":{"emit":"edem/vent/hum_bedr/set","item":"thermostat/set"},
"hum" :{"emit":"edem/vent/hum_bedr/val"},
"setvoc":{"emit":"edem/vent/bedr/set","item":"lled/sat"},
"voc" :{"emit":"edem/vent/bedr/val"},
"set" :{"sa":13, "act":
[
{"emit":"edem/fl2/term_bedr/set"},
{"emit":"edem/ac/bedr/set","item":"pid0/set"}
]
},
"temp" :{"emit":"edem/fl2/term_bedr/1/val"},
"ch_temp":{"sa":14},
"ch_hum":{"sa":15},
"ext_temp":{"sa":16},
"out_temp":{"sa":17},
"water_temp":{"sa":18},
"heat_pwr":{"sa":19},
"cmd":{"sa":2,"reg":"mode","on":1,"off":0}
}
]],
"airset1":[44,[247,"airset"]],
"mbusdim1":[44,[1,0,3,100]],
"mbusdim2":[44,[1,1,3,100]],
"mbusdim3":[44,[1,2,3,100]],
"mbusdim4":[44,[1,3,3,100]],
"relay":[6,22],
"pout1":[6,23],
"pout2":[6,24],
"pout3":[6,25],
"pout4":[33,9],
"pout5":[33,8],
"pout6":[33,11],
"pout7":[33,12],
"lled":[3,[9,8,11,12]],
"pwm0" :[33,4],
"pwm1" :[33,5],
"pwm2" :[3,6],
"pwm3" :[3,7],
"pwm10":[3,3],
"thermostat":[5,2,33],
"airgate1":[12,[-4,-27,59,617,284,5000]],
"airgate2":[12,[-5,-26,60,750,160,5000]],
"airgates":[7,["airgate1","airgate2"]],
"pid0":[413,
[
[20,0.2,7,0,100],
[{"item":"airgates/set","emit":"pid_out","pin":29},{"item":"pwm10/set"}]],
32.1],
"relaytermostat":[16,[[2,3.5,10000],{"pin":28},33]],
"virtualAC0":[17,[]],
"vent5":[18,
{
"":{"item":"dimmer3/set"},
"airgate1":{"V":100,"set":255,"item":"airgate1/set"},
"airgate2":{"V":200,"set":128,"cmd":2,"item":"airgate2/set"},
"airgate4":{"V":150,"set":0,"emit":"edem/in/airgate4/set"}
}
],
"unprot0":[6,33],
"unprot1":[6,32],
"unprot2":[6,31],
"unprot3":[6,30],
"unprot4":[6,29],
"unprot5":[6,28],
"unprot6":[66,27],
"unprot7":[66,26],
"led": [1,1],
"led2":[1,5],
"led3":[1,9],
"led4":[1,13],
"led5":[1,17],
"led6":[1,21],
"led7":[1,25],
"led8":[1,29],
"dimmer" :[0,33],
"dimmer2":[0,34],
"dimmer3":[0,35],
"dimmer4":[0,36],
"dimmer5":[0,37],
"dimmer6":[0,38],
"dimmers":[7,["dimmer","dimmer2","dimmer3","dimmer4","dimmer5","dimmer6"]],
"leds":[7,["led","led2","led3","led4","led5","led6"]],
"mbuses":[7,["mbusdim1","mbusdim2","mbusdim3","mbusdim4"]],
"all":[7,["dimmers","uouts","relays","leds","mbuses"]],
"relays":[7,["relay","pout1","pout2","pout3","pout4","pout5","pout6","pout7"]],
"uouts":[7,["unprot0","unprot1","unprot2","unprot3","unprot4","unprot5","unprot6","unprot7"]]
},
"in":{
"42":{"emit":"in0"},
"44":{"emit":"in1"},
"46":{"emit":"in2"},
"49":{"emit":"in3"},
"43":{"emit":"in4"},
"45":{"emit":"in5"},
"47":{"emit":"in6"},
"48":{"emit":"in7"},
"34":{"emit":"in8"},
"36":{"emit":"in9","item":"unprot0","scmd":"TOGGLE","rcmd":""},
"38":{"emit":"in10","item":"dimmers","scmd":"TOGGLE","rcmd":""},
"40":{"emit":"in11","item":"leds","scmd":"TOGGLE","rcmd":""},
"35":{"emit":"in12","item":"mbuses","scmd":"TOGGLE","rcmd":""},
"37":{"emit":"in13","item":"relays","scmd":"TOGGLE","rcmd":""},
"39":{"emit":"in14","item":"uouts","scmd":"TOGGLE","rcmd":""},
"41":{"emit":"in15","item":"all","scmd":"TOGGLE","rcmd":""},
"54":{"T":66,"emit":"myhome/in/a00","map":[0,1024,0,1024,10]},
"55":{"T":66,"emit":"myhome/in/a01","map":[0,1024,0,1024,10]},
"56":{"T":66,"emit":"myhome/in/a02","map":[0,1024,0,1024,10]},
"57":{"T":66,"emit":"myhome/in/a03","map":[0,1024,0,1024,10]},
"58":{"T":66,"emit":"myhome/in/a04","map":[0,1024,0,1024,10]},
"61":{"T":66,"emit":"myhome/in/a07","map":[0,1024,0,1024,10]},
"62":{"T":66,"emit":"myhome/in/a08","map":[0,1024,0,1024,10]},
"63":{"T":66,"emit":"myhome/in/a09","map":[0,1024,0,1024,10]},
"64":{"T":66,"emit":"myhome/in/a10","map":[0,1024,0,1024,10]},
"65":{"T":66,"emit":"myhome/in/a11","map":[0,1024,0,1024,10]},
"66":{"T":0,"emit":"myhome/in/d12"},
"67":{"T":0,"emit":"myhome/in/d13"},
"68":{"T":0,"emit":"myhome/in/d14"},
"69":{"T":0,"emit":"myhome/in/d15"}
}
}

Binary file not shown.

View File

@@ -0,0 +1,91 @@
@ECHO off
REM Wait X second for memory on Arduino Due is erased.
SET WAIT_ERASED=4
ECHO ------ External tool BossacArduinoDue started ------
REM number of command line arguments ok?
REM IF [%1]==[] GOTO error_args
REM IF [%2]==[] GOTO error_args
REM set command line arguments
SET BOSSACPATH=..\tools\win\tool-bossac\bossac.exe
SET BINFILE=firmware.bin
REM parse command line arguments
SET BOSSACPATH=%BOSSACPATH:"=%
SET BINFILE=%BINFILE:"=%
REM workeround for bug in Atmel Studio 6.0.1996 Service Pack 2
SET BINFILE=%BINFILE:\\=\%
SET BINFILE=%BINFILE:.cproj=%
REM bossac path exist?
IF NOT EXIST "%BOSSACPATH%" GOTO error_arg1
REM bin file exist?
IF NOT EXIST "%BINFILE%" GOTO error_binfile
REM fetch DeviceID of Arduino Due Programming Port from WMI Service
FOR /f "tokens=* skip=1" %%a IN ('wmic PATH Win32_SerialPort Where "Caption LIKE '%%BOSSA%%'" get DeviceID') DO (
SET COMX=%%a
GOTO exit1
)
REM Arduino Due Programming Port not exist
GOTO error_comport
:exit1
REM remove blank
SET COMPORT=%COMX: =%
REM report in Atmel Studio 6.0 IDE output window
ECHO BossacPath=%BOSSACPATH%
ECHO BinFile=%BINFILE%
ECHO Arduino Due Programming Port is detected as %COMPORT%.
REM The bossac bootloader only runs if the memory on Arduino Due is erased.
REM The Arduino IDE does this by opening and closing the COM port at 1200 baud.
REM This causes the Due to execute a soft erase command.
ECHO Forcing reset using 1200bps open/close on port
ECHO MODE %COMPORT%:1200,N,8,1
MODE %COMPORT%:1200,N,8,1
REM Wait X second for memory on Arduino Due is erased.
ECHO Wait for memory on Arduino Due is erased...
PING -n %WAIT_ERASED% 127.0.0.1>NUL
REM Execute bossac.exe
ECHO Execute bossac with command line:
"%BOSSACPATH%" -i --port=%COMPORT% --unlock -R
REM START /WAIT "" "%BOSSACPATH%" -i --port=%COMPORT% -u -e -w -v -b "%BINFILE%" -R
GOTO end
:error_args
ECHO Error: wrong number of command line arguments passed!
GOTO end
:error_arg1
ECHO Error: command line argument 1 - path to bossac.exe not exist! - "C:\Program Files (x86)\arduino-1.5.2\hardware\tools\bossac.exe"
ECHO Error: command line argument 1 - argument passed = %1
GOTO end
:error_arg2
ECHO Error: command line argument 2 - path to bin file not exist! - use $(OutputDirectory)\$(OutputFileName).bin
ECHO Error: command line argument 2 - argument passed = %1
GOTO end
:error_binfile
ECHO Error: bin file "%BINFILE%" not exist!
GOTO end
:error_comport
ECHO Error: Arduino Due Programming Port not found!
:end
ECHO ======================== Done ========================

View File

@@ -0,0 +1 @@
cp ../../.pio/build/lighthub21/firmware.bin .

View File

@@ -0,0 +1,90 @@
@ECHO off
REM Wait X second for memory on Arduino Due is erased.
SET WAIT_ERASED=4
ECHO ------ External tool BossacArduinoDue started ------
REM number of command line arguments ok?
REM IF [%1]==[] GOTO error_args
REM IF [%2]==[] GOTO error_args
REM set command line arguments
SET BOSSACPATH=..\tools\win\tool-bossac\bossac.exe
SET BINFILE=firmware.bin
REM parse command line arguments
SET BOSSACPATH=%BOSSACPATH:"=%
SET BINFILE=%BINFILE:"=%
REM workeround for bug in Atmel Studio 6.0.1996 Service Pack 2
SET BINFILE=%BINFILE:\\=\%
SET BINFILE=%BINFILE:.cproj=%
REM bossac path exist?
IF NOT EXIST "%BOSSACPATH%" GOTO error_arg1
REM bin file exist?
IF NOT EXIST "%BINFILE%" GOTO error_binfile
REM fetch DeviceID of Arduino Due Programming Port from WMI Service
FOR /f "tokens=* skip=1" %%a IN ('wmic PATH Win32_SerialPort Where "Caption LIKE '%%Due%%'" get DeviceID') DO (
SET COMX=%%a
GOTO exit1
)
REM Arduino Due Programming Port not exist
GOTO error_comport
:exit1
REM remove blank
SET COMPORT=%COMX: =%
REM report in Atmel Studio 6.0 IDE output window
ECHO BossacPath=%BOSSACPATH%
ECHO BinFile=%BINFILE%
ECHO Arduino Due Programming Port is detected as %COMPORT%.
REM The bossac bootloader only runs if the memory on Arduino Due is erased.
REM The Arduino IDE does this by opening and closing the COM port at 1200 baud.
REM This causes the Due to execute a soft erase command.
ECHO Forcing reset using 1200bps open/close on port
ECHO MODE %COMPORT%:1200,N,8,1
MODE %COMPORT%:1200,N,8,1
REM Wait X second for memory on Arduino Due is erased.
ECHO Wait for memory on Arduino Due is erased...
PING -n %WAIT_ERASED% 127.0.0.1>NUL
REM Execute bossac.exe
ECHO Execute bossac with command line:
"%BOSSACPATH%" -i --port=%COMPORT% -U false -w -v -b "%BINFILE%" -R
REM START /WAIT "" "%BOSSACPATH%" -i --port=%COMPORT% -U false -e -w -v -b "%BINFILE%" -R
GOTO end
:error_args
ECHO Error: wrong number of command line arguments passed!
GOTO end
:error_arg1
ECHO Error: command line argument 1 - path to bossac.exe not exist! - "C:\Program Files (x86)\arduino-1.5.2\hardware\tools\bossac.exe"
ECHO Error: command line argument 1 - argument passed = %1
GOTO end
:error_arg2
ECHO Error: command line argument 2 - path to bin file not exist! - use $(OutputDirectory)\$(OutputFileName).bin
ECHO Error: command line argument 2 - argument passed = %1
GOTO end
:error_binfile
ECHO Error: bin file "%BINFILE%" not exist!
GOTO end
:error_comport
ECHO Error: Arduino Due Programming Port not found!
:end
ECHO ======================== Done ========================

3
compiled/lighthub21/upload.sh Executable file
View File

@@ -0,0 +1,3 @@
export PORT=cu.usbmodem142401
echo . | stty -f /dev/$PORT speed 1200
../tools/mac/tool-bossac/bossac -U false -p $PORT -i -w -v -b firmware.bin -R

View File

@@ -0,0 +1 @@
../tools/mac/arduinoOTA -address 192.168.88.45 -port 65280 -username arduino -password password -sketch data/config.json -b -upload /data

View File

@@ -0,0 +1,91 @@
@ECHO off
REM Wait X second for memory on Arduino Due is erased.
SET WAIT_ERASED=4
ECHO ------ External tool BossacArduinoDue started ------
REM number of command line arguments ok?
REM IF [%1]==[] GOTO error_args
REM IF [%2]==[] GOTO error_args
REM set command line arguments
SET BOSSACPATH=..\tools\win\tool-bossac\bossac.exe
SET BINFILE=firmware.bin
REM parse command line arguments
SET BOSSACPATH=%BOSSACPATH:"=%
SET BINFILE=%BINFILE:"=%
REM workeround for bug in Atmel Studio 6.0.1996 Service Pack 2
SET BINFILE=%BINFILE:\\=\%
SET BINFILE=%BINFILE:.cproj=%
REM bossac path exist?
IF NOT EXIST "%BOSSACPATH%" GOTO error_arg1
REM bin file exist?
IF NOT EXIST "%BINFILE%" GOTO error_binfile
REM fetch DeviceID of Arduino Due Programming Port from WMI Service
FOR /f "tokens=* skip=1" %%a IN ('wmic PATH Win32_SerialPort Where "Caption LIKE '%%BOSSA%%'" get DeviceID') DO (
SET COMX=%%a
GOTO exit1
)
REM Arduino Due Programming Port not exist
GOTO error_comport
:exit1
REM remove blank
SET COMPORT=%COMX: =%
REM report in Atmel Studio 6.0 IDE output window
ECHO BossacPath=%BOSSACPATH%
ECHO BinFile=%BINFILE%
ECHO Arduino Due Programming Port is detected as %COMPORT%.
REM The bossac bootloader only runs if the memory on Arduino Due is erased.
REM The Arduino IDE does this by opening and closing the COM port at 1200 baud.
REM This causes the Due to execute a soft erase command.
ECHO Forcing reset using 1200bps open/close on port
ECHO MODE %COMPORT%:1200,N,8,1
MODE %COMPORT%:1200,N,8,1
REM Wait X second for memory on Arduino Due is erased.
ECHO Wait for memory on Arduino Due is erased...
PING -n %WAIT_ERASED% 127.0.0.1>NUL
REM Execute bossac.exe
ECHO Execute bossac with command line:
"%BOSSACPATH%" -i --port=%COMPORT% -w -v -b "%BINFILE%" -R
REM START /WAIT "" "%BOSSACPATH%" -i --port=%COMPORT% -u -e -w -v -b "%BINFILE%" -R
GOTO end
:error_args
ECHO Error: wrong number of command line arguments passed!
GOTO end
:error_arg1
ECHO Error: command line argument 1 - path to bossac.exe not exist! - "C:\Program Files (x86)\arduino-1.5.2\hardware\tools\bossac.exe"
ECHO Error: command line argument 1 - argument passed = %1
GOTO end
:error_arg2
ECHO Error: command line argument 2 - path to bin file not exist! - use $(OutputDirectory)\$(OutputFileName).bin
ECHO Error: command line argument 2 - argument passed = %1
GOTO end
:error_binfile
ECHO Error: bin file "%BINFILE%" not exist!
GOTO end
:error_comport
ECHO Error: Arduino Due Programming Port not found!
:end
ECHO ======================== Done ========================

View File

@@ -0,0 +1 @@
..\tools\arduinoOTA -address 192.168.11.204 -port 80 -username arduino -password password -sketch firmware.bin -b -upload /sketch

View File

@@ -0,0 +1 @@
../tools/mac/arduinoOTA -address 192.168.11.200 -port 80 -username arduino -password password -sketch firmware.bin -b -upload /sketch

View File

@@ -0,0 +1,3 @@
export PORT=cu.usbmodem144101
echo . | stty -f /dev/$PORT speed 1200
../tools/mac/tool-bossac/bossac -p $PORT -i -w -v -b firmware.bin -R

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
..\tools\win\tool-avrdude\avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -v -V -P com3 -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i

View File

@@ -0,0 +1 @@
../tools/mac/tool-avrdude/avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -v -V -P /dev/cu.usbmodem1411 -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i

View File

@@ -0,0 +1 @@
..\tools\win\tool-avrdude\avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -v -V -P com3 -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i

1
compiled/mega2560/upload.sh Executable file
View File

@@ -0,0 +1 @@
../tools/mac/tool-avrdude/avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -v -V -P /dev/cu.usbmodem1411 -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1 @@
cp ../../.pio/build/lighthub21/firmware.bin .

View File

@@ -0,0 +1 @@
..\tools\win\tool-avrdude\avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -v -V -P com3 -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i

View File

@@ -0,0 +1 @@
../tools/mac/tool-avrdude/avrdude -C ../tools/mac/tool-avrdude/avrdude.conf -P /dev/cu.wchusbserial1450 -v -V -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i

View File

@@ -0,0 +1 @@
avrdude -P net:192.168.88.2:23000 -v -V -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i

1
compiled/mon.bat Normal file
View File

@@ -0,0 +1 @@
pio device monitor -b 115200

1
compiled/monitor.bat Normal file
View File

@@ -0,0 +1 @@
pio device monitor -b 115200

6597
compiled/nrf52840-5500 Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

BIN
compiled/stm32/firmware.bin Executable file

Binary file not shown.

BIN
compiled/stm32/firmware.elf Executable file

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More