-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
1950 lines (1415 loc) · 62.3 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2015-11-12 Martin Grønholdt
* README.md: Added more buzzwords.
* user/net/wifi.c: Ported to task system.
(ap_config): Made local to create_softap.
(station_config): Made local to wifi_connect_default.
* user/net/wifi.h (WIFI_MODE_CONFIG): Renamed WIFI_MODE_AP.
(wifi_init): Changed signature.
* user/user_main.c: Ported WiFi callbacks to tasks.
: Add configuration mode when pressing button just after reset.
* Makefile: Added network mode to flash config.
* mk/config.mk: Added network mode config, NETWORK_MODE.
* user/config/config.h: Version upped 1.1.
: Added network mode configuration
* docs/TODO.md: Updated.
2015-11-10 Martin Grønholdt
* user/driver/button.c: Added de-bounce.
(button_intr_handler) Cleaned up the esp8266 specific stuff.
* user/driver/button.h: internal timer uses microseconds not milliseconds.
* user/user_config.h: Added signal_reset.
* user/user_main.c (reset): Added reset handler.
(start_connection): Add reset task.
(button_press): Handle long presses as reset.
* user/handlers/rest/net-passwd.c: Removed passwd_changed.
(create_put_response): Only set password to non empty value.
2015-11-09 Martin Grønholdt
* user/slighttp/http-handler.c: Missed the dl_list.h header.
* user/task.*: Reworked task system.
* user/user_main.c: Added initial button handling.
* user/driver/button.c: Code for connected buttons.
2015-11-08 Martin Grønholdt
* user/task.*: Added task handling code.
* user/user_main.c (user_init): Added task handler init.
: Added button handler code.
* user/user_config.h: Added definitions for physical pin connections.
* fs/Makefile: Run minify on fs in debug mode as well.
2015-11-05 Martin Grønholdt
* Makefile: Added free ROM messages to target flashfs.
* fs/Makefile: css-html-js-minify.py cripples the javescript files, so skip them.
* fs/root_src/404.html: Removed extra </div>.
* fs/root_src/about.html: Changed h2 to H3 like everywhere else.
Added firmware version.
* fs/root_src/connect/hostname.html: Use request.js.
* fs/root_src/connect/index.html: Fixed div.
Use request.js.
* fs/root_src/connect/nets.html: Use request.js.
* fs/root_src/connect/passwd.html: Use request.js.
* fs/root_src/index.html: Use request.js.
* fs/root_src/js/atomic.js: Removed, no longer used.
* fs/root_src/connect/js/request.js: Link to fs/root_src/js/request.js.
* fs/root_src/js/request.js: New file. Request function.
* user/slighttp/http-request.c (http_get_headers_size): Removed unused variable.
* user/user_main.c (connected): Don' expose network REST API in default mode.
2015-11-04 Martin Grønholdt
* build.sh: Added option to clean and debugflash.
* Makefile: Changed wording in free ROM messages to match mem_usage script.
* user/handlers/fs/http-fs.c: Optimise for size.
(http_fs_init): Don't complain when setting new root.
2015-11-03 Martin Grønholdt
* Makefile: Added list output of largest functions and objects in user code.
Corrected comment.
distclean target.
* mk/config.mk: Add N_LIST_OBJECTS, control the number entries in object/function lists.
* mk/linux.mk: Added readelf.
* user/fs/dbffs-std.h: Added DBFFS_MAX_HEADER_SIZE.
* user/fs/dbffs.c: Optimise for size.
* user/slighttp/http-request.c (http_get_request_type): Optimise for size.
* fs/Makefile: distclean target.
* user/handlers/rest/gpio.c: Use http_simple_GET_PUT_handler.
2015-10-26 Martin Grønholdt
* user/debug.c (db_alloc): Fixed a some debug output errors.
(db_realloc): Fixed a some debug output errors.
* user/handlers/rest/gpio.c (create_eneabled_response): Using JSON generator.
* user/handlers/rest/mem.c (create_get_response): Using JSON generator.
* user/handlers/rest/net-names.c (scan_done_cb): Using JSON generator.
* user/tools/json-gen.c (json_create_member): Renamed json_create_pair.
(json_add_to_object): Renamed json_add_to_type and adapted for both arrays and objects.
* user/tools/json-gen.h: Replaced json_add_to_array and json_add_to_object with macros.
2015-10-25 Martin Grønholdt
* user/debug.c: Added db_realloc.
(db_alloc): Added error checking.
* user/user_config.h: Added db_realloc macro.
* user/handlers/rest/gpio.c: Added REST_GPIO_PINS.
Removed json_create_int_array.
* user/handlers/rest/mem.c (create_get_response): Using JSON generator.
* user/handlers/rest/net-names.c: Removed json_create_string_array.
* user/handlers/rest/network.c (create_get_response): Using JSON generator.
* user/handlers/rest/version.c (create_get_response): Using JSON generator.
* user/tools/json-gen.c: Added file with JSON generation routines.
* user/tools/json-gen.h Added file with JSON generation routines.
2015-10-21 Martin Grønholdt
* Makefile: Changed size report printing.
Don't minify web sources in debug build.
* ld/eagle.app.v6.ld: Added more specific sections to IROM.
* mk/config.mk: Removed SDK JSON library.
: Added jsmn for JSON parsing (http://zserge.com/jsmn.html).
* tools/mem_usage.sh: Added ROM size output.
* user/driver/uart.c: Updated source from SDK.
* user/driver/uart.h: Updated source from SDK.
* user/fs/dbffs.c (dbffs_find_file_header): Added some error checking.
* user/handlers/fs/http-fs.c (do_message): Added function, that handles
sending both normal and error
request.
(http_fs_handler): Use do_message.
(http_fs_error_handler): Use do_message.
* user/handlers/rest/gpio.c (http_rest_gpio_handler): Use jsmn.
* user/handlers/rest/net-passwd.c (create_put_response): Added for http_simple_GET_PUT_handler.
(create_put_response): Use jsmn
(http_rest_net_passwd_handler): Use http_simple_GET_PUT_handler.
* user/handlers/rest/network.c (create_put_response): Use jsmn.
* user/net/capport.c (dns_recv): Fixed an an error.
* user/slighttp/http-response.c: Removed status line declarations as they were redundant.
(http_send_status_line): Removed status
line declarations
as they were redundant.
* user/user_main.c (user_init): Use uart_init to initialise serial port.
2015-10-13 Martin Grønholdt
* mk/config.mk: Added FS_ROOT_DIR.
* Makefile: Added file system subdir Makefile call.
* fs/Makefile: Added, that runs a custom version of css-html-js-minify, to minify files.
* fs/root_src/: Moved file system here.
* fs/LICENSE: Removed.
* fs/LICENSE.zip: License now zip compressed.
* fs/connect/LICENSE: Removed.
* fs/connect/LICENSE.zip: Link to /LICENSE_zip
* fs/*.html: Use compressed license.
* fs/connect/*.html: Use compressed license.
2015-10-12 Martin Grønholdt
* docs/flashmap.md: Formatting.
2015-10-11 Martin Grønholdt
* build.sh: Added, build with log file output.
* ld/eagle.app.v6.ld: Linker script that moves code into ROM.
* tools/esp-config-tools/src/gen_config.c (main): Added "I've done good." message.
* mk/config.mk: Added VERSION.
* user/user_config.h: Enable DEBUG_MEM when DEBUG is defined.
* Makefile: Added linker -gc-sections t remove unused functions from the firmware
: Fixed a variable name in flashfs.
: Added compiler flags -ffunction-sections -fdata-sections to
generate sections for everything so tha the linker can
remove unused stuff.
: Use local linker script.
: Nicer size output.
: Reintroduced the archive generation step.
* user/*: Removed ICACHE_FLASH_ATTR. Now accomplished by the linker scripts.
2015-10-11 Martin Grønholdt
* Makefile: Added project name to compiler defines.
: Added compiler debug define.
: Will only build for boards with 512KB flash.
: Reordered console output.
: Moved debug rule back here, to re-establish all as the first target.
* mk/config.mk: Added FLASH_SIZE.
: No longer set debug compiler define.
: No longer set project name compiler define.
* mk/linux.mk: Add OBJDUMP and OBJCOPY.
: Add variables to get version from github.
: Corrected the path of esptool.py.
: Added TERM_CMD.
: Removed debug rule.
* tools/mem_usage.sh: Changed output for the better.
* config/config.h: Version 1.0.
(struct config): fs_addr changed to uint32_t.
: No need for padding.
(config_entries): Changed size of fs_addr to 4.
* user_config.h: Added support for GIT_VERSION.
* user_main.c: Print code end address and git version.
* docs/flashmap.md: New doc of flash use.
2015-10-09 Martin Grønholdt
* .gitignore: Added flash config tool exceptions.
* Makefile: Rearranged a bit more, and add flash config.
Add the -L switch to SDK_LIBDIR when generated.
Removed archive generation step.
Lots of comments.
* mk/config.mk: Comments.
Added variable LIBS.
Added FLASH_SIZE.
* mk/linux.mk: Smarter verbosity handling.
Added LOG_FILE.
Added debug rule.
Removed variable LIBS.
Added GIT_VERSION generation.
* tools/esp-config-tools/*: New binary flash configuration creater tool.
* tools/testsize.sh: Changed console output to make tool generic.
* config/*: New code to read firmware configuration from flash.
* fs/dbffs.c (init_dbffs): Use file system address from flash config.
* user_config.h: Include config/config.h.
Upped version to 0.2.0.
Only do hexdumps when debugging.
Added global config struct.
Added GIT_VERSION.
* user_main.c: Use new config system.
Removed included specreg.h, didn't seem to need it.
Added printing of GIT_VERSION.
2015-10-08 Martin Grønholdt
* fs/int_flash.c (amemcpy): Use shift instead of mul.
* Makefile: Moved a lot of stuff to mk/linux.mk and mk/config.mk.
* mk/config.mk: New file with project build time configuration.
* mk/linux.mk: New file with build system stuff for Linux.
* mem_usage.sh: Moved to tools/mem_usage.sh.
* tools/mem_usage.sh: New file.
2015-10-06 Martin Grønholdt
* Toolchain ESP8266 SDK now version 1.4. *
* net/wifi.c (wifi_handle_event_cb): Added EVENT_SOFTAPMODE_PROBEREQRECVED event from SDK 1.4.
* fs/css/custom.css: Added link-button styles.
* fs/connect/index.html: Added file system version and setup button.
* slighttp/http-handler.h (http_simple_GET_PUT_handler): Removed FLASH attribute cruft.
* handlers/rest/version.c (create_get_response): Added file system version.
* user_config.h (STRING_VERSION): Upped version to 0.1.0.
* handlers/fs/http-fs.c (http_fs_open_file): Fixed a zero termination bug. This closes BUG #1.
* fs/fs.c (fs_open): Added memory allocation check.
* tools/missing_dec.h: Corrected for SDK 1.4 changes for their leak detection stuff.
2015-10-01 Martin Grønholdt
* tools/dbffs-tools/README.me: Added file.
* tools/dbffs-tools/src/*: Removed directory support.
Writes absolute links.
Added verbose command line option.
DBFFS at version 0.1.0.
dbffs-image at version 0.2.0.
2015-09-21 Martin Grønholdt
* tools/dbffs-tools/dbffs-link.c (create_link_entry): Set target_len.
2015-09-19 Martin Grønholdt
* tools/dbffs-tools/dbffs-dir.c (write_dir_entry): Fixed a byte order bug.
: Write offset of the last entry correctly.
: Write directory and entries in the right order.
* tools/dbffs-tools/dbffs-file.c (write_file_entry): Fixed a byte order bug.
: Write offset of the last entry correctly.
* tools/dbffs-tools/dbffs-link.c (write_link_entry): Fixed a byte order bug.
: Write offset of the last entry correctly.
: Write target name and length.
* tool/dbffs-tools/dbffs-gen.c (create_entry): Write directory and entries in the right order.
(count_dir_entries): Added function.
* tool/dbffs-tools/dbffs-gen.h (count_dir_entries): Added function.
2015-09-18 Martin Grønholdt
* fs/fs.c: Ported to DBBFS.
* fs/dbffs.*: Added files.
* Makefile: Rewrote rules for FS to use DBFFS.
* tools/dbffs-tools: Added file system creation tool.
2015-09-11 Martin Grønholdt
* slighttp/http-mime.*: Added GZIP mime type.
2015-09-10 Martin Grønholdt
* net/tcp.c: (tcp_print_connection_status): More error checking.
(tcp_send): Print error status as text as well.
* fs/connect/hostname.html: New file.
* fs/connect/passwd.html: Updated menu and fixes.
* fs/connect/nets.html: Updated menu and fixes.
* fs/connect/index.html: Moved original content to nets.html.
Created new info page.
* fs/connect/css/custom.css: added class form-margin.
* user_main.c: Added new handlers.
* handlers/rest/rest.h: Added new handlers.
* handler/rest/network.c: Moved to using http_simple_GET_PUT_handler.
Added create_put_response.
(create_response): Added hostname and IP address to response.
(create_response): Renamed create_get_response.
* handler/rest/mem.c: Added file.
* handler/rest/version.c: Added file.
* slighttp/http.h (struct http_response): Added message pointer.
* slighttp/http-handler.*: Added http_simple_GET_PUT_handler.
* slighttp/http-request.c (http_free_request): Free response message.
2015-09-09 Martin Grønholdt
* user_main.c (connected): Added HTTP FS error handler.
* handler/deny/deny.c (http_deny_handler): Little more debug yelling.
* slighttp/http-fs.h: Added http_fs_error_handler.
* slighttp/http-fs.c: Added http_fs_error_handler.
(http_fs_open_file): Added error parameter, and isolated error status handling.
2015-09-08 Martin Grønholdt
* slighttp/http.h: Upped version.
* slighttp/http-tcp.c (tcp_recv_cb): Global send lock and fixes.
* slighttp/http-request.c (http_free_request): Free headers.
* net/udp.c: Added global send lock.
* net/tcp.c: Added global send lock.
* debug.c (db_mem_list): Added more info.
* handlers/deny/*.*: Reworked for new handler code, again.
* handlers/rest/*.*: Reworked for new handler code, again.
2015-09-07 Martin Grønholdt
* slighttp/http-handler.c (fall_through_status_handler): Renamed http_status_handler.
(http_status_handler): Handle all error codes, and default to 404.
* slighttp/http-response.c (fall_through_status_handler): Return bytes send.
(fall_through_status_handler): Moved to http-handler.c
(http_send_status_line): Handle all status code, but maybe send empty reason.
2015-09-06 Martin Grønholdt
* handlers/fs/http-fs.*: Reworked for new handler code, again.
* net/tcp.c (tcp_send): Better and more noisy error handling.
* slighttp/http-mime.*: Added http_mime_get_ext.
* slighttp/http-response.* (send_buffer): Cahnged parameter to http_request pointer.
2015-09-05 Martin Grønholdt
* slighttp/http-response.*: Added http_handle_response.
* slighttp/http-handler.*: Only one handler function, removed everything else.
* slighttp/http-handler.h (http_get_handler): Added start_handler parameter.
* slighttp/http.h (http_request): Added headers.
* docs/HTTP_Flow.md_ Added file.
* handlers/fs/http-fs.c (http_fs_handler): Use default header handler.
* slighttp/http-request.c: Added http_get_headers_size.
(http_get_request_type): Return status 400 on error.
* (http_parse_request): Removed response handler calls.
* slighttp/http-handlers.h: Added http_default_header_handler.
2015-09-04 Martin Grønholdt
* debug.c (db_hexdump): Fixed ifdef placement error.
* user_config.h (db_hexdump): Fixed ifdef placement error.
* slighttp/http-response.c (http_process_response): Fixed last call error handler, and CLF logging.
2015-09-03 Martin Grønholdt
* user_main.c (status_check): Added UDP status print.
(connected): Added captive portal in configuration mode.
* net/capport.*: Added files.
* net/dns.h: Added file.
* user_config.h: Added db_hexdump.
* debug.c: Added db_hexdump.
2015-09-02 Martin Grønholdt
* net/udp.*: Added files.
* slighttp/http.h: Set buffers to 1440 bytes.
* slighttp/http-tcp.c (tcp_disconnect_cb): Fixed bug where everything was not deallocated.
* slighttp/http_response.c (http_process_response): Only send on buffer full or done.
* handlers/fs/http-fs.c (http_fs_get_handler): Dynamic chunk size when reading file.
2015-09-01 Martin Grønholdt
* slighttp/http-tcp.c (tcp_disconnect_cb): Fixed maybe using NULL pointer.
* fs/int_flash.h: Removed FS_ADDR.
: Added fs_addr.
* fs/int_flash.c (aflash_read): Use fs_addr.
* fs/zip.c (init_zip): Automaticly find file system offset in flash.
* slighttp/http.h: Upped version to 0.0.6.
* user_config.h: Upped version to 0.0.4.
* handlers/rest/net-names.c (scan_done_cb): Only deallocate old scan data once.
* fs/index.html: Check status after PUT request has returned.
2015-08-29 Martin Grønholdt
* handlers/rest/*: Reworked for the new handler code.
* slighttp/http-tcp.c (tcp_recv_cb): Keep processing response until done.
* slighttp/http-handler.c (http_add_handler): Fixed URI allocation size.
(http_get_handler): Added strict search.
2015-08-28 Martin Grønholdt
* Makefile: Added handlers directory to MODULES.
* handlers/rest/network.c: Reworked for the new handler code.
* rest/*: Moved to handlers/rest.
* slighttp/http-fs.*: Moved to handler/fs.
* slighttp/http-response.c (http_process_response): Eliminated some stuff.
* drivers/uart.c: Formatted some of the code and removed some unused variable.
2015-08-27 Martin Grønholdt
* slighttp/http-response.h: Added 500 status.
* slighttp/http.h: Removed struct http_header.
* slighttp/http-request.c (http_free_request): Removed header dealloc code.
2015-08-26 Martin Grønholdt
* slighttp/http-common.*: Removed header functions.
* slighttp/http-common.h: Removed handler stuff.
* slighttp/http-request.c: Changed for new callback functions.
(http_parse_request): Added length as parameter.
* slighttp/http-reqeust.h (http_parse_request): Added length as parameter.
* slighttp/http.*: init_http takes port as argument.
2015-08-24 Martin Grønholdt
* slighttp/http-response (http_get_handlers): Moved to http-handler.c
* slighttp/http-fs.h: New file. File system handler struct.
* slighttp/http-handler.*: New files.
: http_add_handler added.
: http_remove_handler added.
: http_get_handler added.
* slighttp/http.h: Moved general handler stuff to http-handler.h.
* net-passwd.c: Only reset the chip when the password has changed.
* slighttp/http-request.c (http_parse_request): Check for "HTTP/" before version.
* net/tcp.*: Removed reconnect call back from API.
: Added tcp_print_connection_status.
2015-08-23 Martin Grønholdt
* slighttp/http-request.c (http_get_request_type): Fixed a bug in CONNECT handling.
2015-08-21 Martin Grønholdt
* net/tcp.h (tcp_connection): Added local and remote address, to keep them when the SDK deallocates.
* user_config.h: Added BAUD_RATE.
* net/wifi.c (create_softap): Start from default configuration.
* slighttp/http-request.* (http_free_request): Parameter type changed to struct http_request).
2015-08-20 Martin Grønholdt
* net/wifi.c (wifi_config_mode): Do a disconnect.
* tools/dl_list.h: Better docs.
* net/tcp.c (listening_connection): Renamed listening_connections.
(tcp_cb_connection): Removed.
* net/tcp.h (tcp_connection.free): Renamed to user.
(tcp_connection): Added call backs.
(TCP_MAX_CONNECTIONS): Removed.
(TCP_SEND_BUFFER_SIZE): Removed.
(tcp_callback_funcs): Added.
* net/wifi_connect.*: Renamed wifi.*
* user_main.c: Added disconnected.
* slighttp/http.*: Added http_get_status.
2015-08-19 Martin Grønholdt
* user_main.c (user_init): Do not disable auto connect.
: Changes for keeping up with the wifi code.
* net/wifi_connect.c: Added wifi_handle_event.
Added wifi_init.
(wifi_connect): Renamed to wifi_connect_default.
(wifi_connect_default) Returns bool for status.
* net/wifi_connect.h: Added wifi_init-
(wifi_connect): Removed.
* fs/connect/index.html: Bad characters had invaded the file.
2015-07-29 Martin Grønholdt
* slighttp/http-mime.*: Added ICO.
2015-07-28 Martin Grønholdt
* fs: Reworked most HTML and CSS to use only my customisations and normalize.
* fs/css/custom.css: Added with CSS customisations.
* fs/js/atomic.min.js: Added content type parameter.
2015-07-27 Martin Grønholdt
* fs/*.html: Added HTML tag.
* fs/css: Added skeleton and normalize.
* fs/css/skeleton.css: Changed base font to Georgia, serif.
2015-07-25 Martin Grønholdt
* slighttp/http-common.c (http_print_clf_status): Proper type in format string.
* user_main.c (status_check): Adjustments for staticly allocated send buffer.
* slighttp/http-tcp.c (tcp_connect_cb): Adjustments for staticly allocated send buffer.
* slighttp/http_response.c: Adjustments for staticly allocated send buffer.
* Make the current response connection pointer global.
* (http_process_response): Free response buffer pointer.
* slighttp/http.h (http_response): Made send_buffer staticly allocated.
* rest/gpio.c (create_enabled_response): Initialize gpio array to 0.
* slighttp/htp-request.c (http_parse_headers): Chech for NULL pointer.
* tools/ftoa.c (ftoa): Braindead infinite loop and non working algo fixed.
* slighttp/http-fs.c (http_fs_head_handler): Check for MIME type overflow.
* net/tcp.c (tcp_listen): Fixed some pointer checks.
: Eleminated a local connection pointer.
* (tcp_free): Fixed some pointer checks.
* : Removed some old timer code.
* fs/zip.c (zip_free_header): Check if the file_hdr is allocated.
* (zip_find_file_header): Handle errors correctly.
* net/wifi_connect.c (timeout_cb): Fixed an array's size.
2015-07-23 Martin Grønholdt
* fs/fs.c (fs_init): Output flash ROM size.
* fs/int_flash.c: Added flash_size.
2015-07-22 Martin Grønholdt
* slighttp/http-response (http_process_response): Process request buffer entries.
* fs/index.html: Corrected toggle function.
* fs/zip.c (zip_file_hdr): More debug output.
* (init_zip): Fixed zero termination bug.
* slighttp/http.h: Added HTTP_REQUEST_BUFFER_SIZE.
* rest/net-names.c (rest_net_names_get_handler): Set request->response.message_size.
* net/tcp.c (tcp_send): Throw an error if already sending.
* slighttp/http.c (init_http): Init request buffer, fixed boolean error when calling tcp_listen.
* user_main.c (connected): Start the timer after the web server.
* slighttp/http-tcp.*: Added request buffer and response mutex.
* tools/ring.c (ring_pop_front): Fixed dereferencing void pointer.
* slighttp/http-request.c (http_parse_headers): Print message when debugging.
2015-07-19 Martin Grønholdt
* rest/network.c (rest_network_put_handler): Handle status code properly.
* rest/net-passwd.c (rest_net_passwd_put_handler): Handle status code properly.
* rest/gpio.c (rest_gpio_put_handler): Handle status code properly.
2015-07-15 Martin Grønholdt
* Makefile: Added flashfs to only flash file system.
* (checkdirs): Added some missing directories.
* fs/index.html: Created on/of button.
* fs/admin.html: Removed file.
* rest/net-passwd.c(rest_net_passwd_put_handler): Proper handling of states.
* : Process response at HTTP_STATE_ASSEMBLED to print CLF:
* rest/network.c (rest_network_put_handler): Proper handling of states.
* : Process response at HTTP_STATE_ASSEMBLED to print CLF:
* user_main.c (connected): Don't repeat message.
* net/wifi_connect.c (print_status): Nicer output.
* user_config.h: Fixed scope of db_mem_list and rearranged a bit.
* slighttp/http-common.c (print_clf_status): Renamed http_print_clf_status and reimplemented.
* slighttp/http-common.h: Changed renamed and changed print_clf_status as http_print_clf_status.
* slighttp/http.h (http_response): Added message_size.
* slighttp/http-response.c: Added 405 status.
* (http_process_response): Print CLF log to serial port.
* slighttp/http-response.h: Added 405 status.
* rest/gpio.c: Reading of an individual GPIO's status.
* : Setting of an individual GPIO's status.
* (rest_gpio_put_handler): Proper handling of states.
* : Process response at HTTP_STATE_ASSEMBLED to print CLF:
2015-07-14 Martin Grønholdt
* rest/net-names.c (rest_net_names_test): Incomprehensible debug output.
* (rest_net_names_destroy): If debugging, tell that we're here.
* rest/gpio.c: Listing of usable GPIO's work.
* (rest_gpio_test): Check for actual GPIO number before accepting.
* (rest_gpio_destroy): If debugging, tell that we're here.
* response_handlers.h: Added GPIO rest functions.
* rest/rest.h: Added GPIO rest functions.
* user_config.h: Added REST_GPIO_ENABLED.
2015-07-13 Martin Grønholdt
* rest/gpio.c: Added file.
* Added json_create_int_array.
* rest/rest.c: Added file.
* Added rest_init.
* rest/rest.h: Added rest_init.
2015-07-10 Martin Grønholdt
* fs/connect/index.html: Added form onsubmit.
* fs/connect/passwd.html: Added form onsubmit.
* user_config.h: Version 0.0.3.
* slighttp/http.h: Upped version.
* rest/network.c (create_response): Only create a response if there isn't one.
* (rest_network_put_handler): Return size of data sent.
* slighttp/net-names.c (rest_net_names_head_handler): Allocate context struct.
2015-07-09 Martin Grønholdt
* slighttp/http.h (http_response): Removed unused send member.
* rest/network.c: Adjusted for new http_process_response behaviour.
* rest/net-names.c: Added rest_net_names_context.
* : Adjusted for new http_process_response behaviour.
* (rest_net_names_get_handler): Uses context struct.
* (rest_net_names_head_handler): Uses context and only replies with a real answer.
* (create_response): Uses context and create a response when done scanning.
* (scan_done_cb): Call http response handler when done scanning.
* rest/net-passwd.c: Adjusted for new http_process_response behaviour.
* slighttp/http-response.c (http_process_response): Keep processing if there is no response yet.
* : Keep count of recursion level.
* (http_send_status_line): Return size of data sent.
* (http_send_header): Return the size of the data sent.
* (http_send): Return number of bytes buffered.
* slighttp/http-fs.c (http_fs_head_handler): Return size of data sent.
* (http_fs_get_handler): Return size of the data sent.
2015-07-08 Martin Grønholdt
* rest_handlers.h: Fixed call of test function in wrong place.
* user_main.c (status_check): Deallocation of dangling connections.
* rest/net-names.c (scan_done_cb): Only free data on error.
* : Better error handling.
* (create_response): Free old data.
* : Only scan until response is send.
* : Better error handling.
2015-07-07 Martin Grønholdt
* rest/net-passwd.c (rest_net_passwd_destroy): Resets the esp8266 when called.
2015-07-05 Martin Grønholdt
* fs/connect/js/atmic.min.js: Changes content type to JSON.
* Makefile: Fixed file system scanning.
2015-07-04 Martin Grønholdt
* response_handlers.h: Added password handler.
* rest/rest.h: Added WIFI password routines.
* rest/net-passwd.c: Added file to handle setting WIFI password.
* (rest_net_passwd_put_handler): Send header end.
* rest/network.c (rest_network_put_handler): Send header end.
2015-07-03 Martin Grønholdt
* Makefile: Added JSON lib.
* response_handlers.h: Added rest_network_put_handler.
* slighttp/http-response.c: Added http_status_line_204.
* (http_send_status_line): Added 204.
* slighttp/http-response.h: Added HTTP_STATUS_204.
* rest/network.c: Added rest_network_put_handler.
* rest/rest.h: Added rest_network_put_handler.
* slighttp/http-commen.*: Added get_header_value.
* slighttp/http-tcp.c (tcp_reconnect_cb): Don't disconnect, everything chrashes.
* slighttp/http-request.c (http_parse_headers): Get message if any.
2015-07-02 Martin Grønholdt
* slighttp/http-response.c (http_process_response): Handle specific method handler missing.
2015-07-01 Martin Grønholdt
* fs/connect/index.html: Status message, and better REST call timer.
2015-06-30 Martin Grønholdt
* debug.c (db_dealloc): Added check for empty entry in the alloc list.
* slighttp/http.h: Upped version.
* response_handlers.h: Added rest_network_head_handler.
* response_handlers.h: Added rest_net_names handlers.
* rest/network.c: Added rest_net_names_head_handler.
* : Added create_response.
* (rest_network): Renamed rest_network_get_handler.
* rest/net-names.c: Added rest_network_head_handler.
* : Added create_response.
* (rest_net_names): Renamed rest_net_names_get_handler.
* rest/network.h: Added rest_network_head_handler.
* net/tcp (tcp_sent_cb): Check if connection is NULL.
2015-06-29 Martin Grønholdt
* slighttp/http.h (response_states): Added HTTP_STATE_ERROR.
2015-06-27 Martin Grønholdt
* slighttp/http-fs.c (http_fs_test): Added error status code handling.
* slighttp/http-response.c (http_process_response): Handle error status codes.
* (fall_through_status_handler): Handle errors when no one else will.
2015-06-24 Martin Grønholdt
* Removed main state machine files.
* net/wifi_connect.* (check_connection): Renamed wifi_check_connection.
* slighttp/http-response.h (http_process_response): Implemented closing of connection.
* user_main.c (status_check): Printing of status, and reset on loss of connection.
2015-06-23 Martin Grønholdt
* net/wifi_connect.c: Reverted to last version before state machine changes.
* : Changes getting up to date.
* : Added check_connection.
* : Added wifi mode to connected call back.
* net/wifi_connect.h: Added check_connection.
* user_main.c: Removed main state machine code.
* : Added connected call back.
* : Moved dispatch timer after, wifi connect.
* sm_wifi.c: Removed.
* response_handlers.h: Added file, with HTTP response handlers.
2015-06-22 Martin Grønholdt
* net/tcp.h (tcp_connection): Changed sending to boolean.
* net/tcp.c (tcp_sent_cb): Changed code to support sending being boolean.
* (tcp_send): Changed code to support sending being boolean.
* slighttp/http.h (http_response): Added send.
* (http_response_states): Added HTTP_STATE_ASSEMBLED.
* slighttp/http-fs.c: Changed to use http_send.
* (sm_http_fs_context): Renamed to http_fs_context.
* slighttp/http-tcp (tcp_connect_cb): Set status code to 200.
* (tcp_recv_cb): Set status code to 400 on empty request.
* : Start sending response, when done parsing the request.
* (tcp_sent_cb): Send additional data if not done, else set HTTP_STATE_DONE.
* : Reset buffer.
* slighttp/http-response.c: Added send_buffer.
* (http_send_header): Changed return type to uchar.
* (http_send_status_line): Changed return type to uchar.
* slighttp/http-response.h: Added http_process_response.
2015-06-21 Martin Grønholdt
* debug.c; Added db_mem_list.
* sm_http.c: Don't do anything if still sending.
* user_main.c: state is now global.
* slighttp/http.h: Added HTTP_SEND_BUFFER_SIZE.
* (http_response): Added send_buffer and send_buffer_pos.
* slighttp/http-response.c: Added http_send.
* slighttp/http-request.c (http_parse_headers): Forget to increase number of headers in the second run.
* : Was copying header value from th e wrong place.
* (http_free_request): More checks, and pass connection instead of request
* slighttp/http-tcp.c (tcp_reconnect_cb): Don't disconnect.
* (tcp_recv_cb): Call main event handler and send HTTP.
* (tcp_sent_cb): Call main event handler and send HTTP.
* slighttp/http-fs.c (httpfs_destroy): More debug.
* net/tcp.c (tcp_connect_cb): Don't disconnect.
2015-06-20 Martin Grønholdt
* slighttp/http-response.c: Removed http_send_response, uneeded.
* (send_status_line): Renamed http_send_status_line.
* slighttp/http-response.h: Removed http_send_response, uneeded.
* (send_status_line): Renamed http_send_status_line.
* user_main.c (handle_events): Added tick output in debug mode.
* sm_http.c: Dealt with disconnecting.
* net/tcp.h Removed buffer stuff.
* net/tcp.c: Removed send_buffer and other buffer stuff.
* fs/int_flash.c: Added amemcpy, to do aligned reads.
* (aflash__read): Just use amemcpy, the SDK have long had a warning about 4 byte alignment.
2015-06-19 Martin Grønholdt
* fs/int_flash.c: The new SDK stole flash_read from me, it's now aflash_read.
* fs/int_flash.h: flash_read renamed aflash_read.
2015-06-19 Martin Grønholdt
* driver: After update of SDK I needed the uart driver to since os_putc was gone.
* user_main.c (user_init): Init uart driver.
* slimhttp/http-fs.c (http_fs_get_handler): Wait till next run (after headers) to send message.
2015-06-18 Martin Grønholdt
* net/tcp.c (tcp_disconnect_cb): Only call call back if there is still a connection.
* sm_http.c (http_send): Added tcp_disconnect when state is HTTP_STATE_DONE.
* tools/missing_dec.h: Added ets_printf by modifying os_sprintf.
* user_config.h: After reading Peter Scargill blog post here http://tech.scargill.net/esp8266-debug/, I made some improvements.
* slighttp/http-fs.c: Almost done.
2015-06-17 Martin Grønholdt (committed)
* user_main.c (user_init): No auto reconnect.
* net/tcp.c (send_buffer): Renamed to tcp_send_buffer.
* (tcp_send): Little bug in debug output, address of send_buffer instead of send_buffers.
* : Removed last traces of the timer and call back used for clean up earlier.
* (tcp_disconnect_cb): Restored the original handler, that passes on questionable values.
* net/tcp.h (send_buffer): Renamed to tcp_send_buffer.
* : Changed buffer to 1024 bytes.
2015-06-16 Martin Grønholdt
* net-/tcp.h: Added tcp_free.
* : Added state_names.
* sm_http.c: Implemented http_fs_destroy.
* : Finished http_fs_test.
* (http_response_handler): Renamed test_uri, will_handle.
* (http_response_handler): Split handler into handlers for each request method.
* And but them in array, that is ordered so that request_types
* works for indexing them, by subtracting one.
* slighttp/http.h: Changed parameter of handler call backs to a http_response pointer.
* (http_response): Added context pointer.
* (http_get_handlers): Changed parameter to a struct http_request pointer.
* slighttp/http-response.c (http_get_handlers): Changed parameter to a struct http_request pointer.
* sm_wifi.c (wifi_connected): Call http_send on connection.
2015-06-15 Martin Grønholdt
* fs/fs.c (fs_open): Don't warn on file not found, just tell in a debuggy way.
* (fs_close): Test handle before freeing the memory.
* net/tcp.c (init_tcp): Return boolean.
* (tcp_listen: Return boolean.
* : Added tcp_get_connections.
* net/tcp.h (init_tcp): Return boolean.
* (tcp_listen: Return boolean.
* : Added tcp_get_connections.
* slighttp/http.c (init_http): Return boolean.
* slighttp/http.h (init_http): Return boolean.
* (http_request): Added response.
* (http_response): Re purposed http_response.
* (http_response): Added state.
* (http_response): Added handlers.
* (http_builtin_uti): Renamed to http_response_handler.
* : Added response_states.
* : Added http_get_handlers.
* slighttp/http-request (http_parse_request): Eliminated start_offset parameter.
* (http_get_request_type): New function.
* (http_process_request): Removed.
* : All local functions static.
* : Creates a (parsed) copy of the request data.
* slighttp/http-response.c: Added http_get_handlers.
* (http_get_handlers): Fixed, would not return the rigth handler.
* slighttp/http-request.h: Only export http_parse_request and http_free_request.
* slighttp/http-common.h: Added HTTP_SKIP_SPACES, and HTTP_SKIP_CRLF.
* sm_func.h: Added resboot.
* sm_types (states): Added HTTP_INIT, HTTP_SEND, and SYSTEM_RESTART.
* : Added HTTP_CLEANUP.
* sm.h (handlers): Added http_init, and restart.
* sm.h (handlers): Added http_mutter_med_kost_og_spand.
* sm_wifi.c: Created file and moved main state machine wifi functions here.
* sm_http.c: Added file with main state machine HTTP functions.
2015-06-13 Martin Grønholdt
* sm_wifi.c: Added file.
* sm_func: Added file.
* sm.h: Created file with most of the main state machine stuff.
* sm_types.h: Added with types for main state machine.
* net/wifi_connect.*: Changed code to work as a state machine.
* user_main.c: Added init done call back.
* : Added timer dispatch_timer to call an event dispatch function.
* : Removed connected_cb, handled by the dispatcher.
* user_config.h: Include mem.h.
* : Added db_printf, which tries to silence the SDK.
2015-06-13 Martin Grønholdt (committed)
* user_config.h: Network connection timeout set to 10 sec.
* net/tcp.c (tcp_send): Don't zero terminate.
* (tcp_timer_cb): Free connection data if asked.
* (tcp_disconnect_cb): Set closing.
* (send_buffer): Print buffer with putc.
2015-06-12 Martin Grønholdt
* net/tcp.c (send_buffer): Double buffering.
* : Switch buffer if first half is full.
* (tcp_sent_cb): Update buffer_used.
* : Only close connection if buffer is empty.
* : Call send_buffer instead of duplicating code.
* (tcp_send): Double buffering.
* : Update buffer_used.
* : User buffer_used to check for overflow.
* (tcp_timer_cb): Double buffering.
* (tcp_free): Free send_buffers instead of send_buffer.
* (tcp_connect_cb): Initialise buffer_used.
* net/tcp.h (tcp_connection): Added send_buffers.
* : Added buffer_used.
* : Changed sending from bool to size_t.
* debug.c (db_dealloc): Nicer output.
* slighttp/http-tcp.c (tcp_disconnect_cb): Don't do anything.
2015-06-11 Martin Grønholdt
* net/tcp.h (tcp_connection): Added sending and closing status.
* (tcp_disconnect): Return void.
* net/tcp.c (init_tcp): Added house keeping timer.
* (tcp_connect_cb): Initialise sending and closing status.
* (tcp_disconnect_cb): Do nothing, since it is taken care of by the timer.
* (send_buffer): Only send the message if the buffer is full.
* (tcp_sent_cb): Moved buffer stuff up front.
* (tcp_send): Wait until no one is sending on the connection.
* (tcp_timer_cb): Dispatch the send buffer.
* (send_buffer): More debug output.
* (tcp_disconnect): Only set closing for the connection.
* (tcp_disconnect): Return void.
* (tcp_sent_cb): Close the connection if asked.
* : Zero terminate the buffer.
* : Added tcp__timer_cb.
* fs/fs.c (fs_read): Did not advance position after reading.
* rest/rest.h: Changes for slighttp.
* rest/network.c: Changes for slighttp.
* rest/net-names.c: Changes for slighttp.
* slighttp/http-tcp.c (tcp_connect_cb): Forgot to set the connection pointer in the request.
* slighttp/http-request.c (http_parse_headers): Fixed handling of no headers.
* slighttp/http-response.h: Removed http_free_response.
* : Added http_send_header.
* : Added newline and line feed to HTTP_STATUS_HTTP_VERSION.
* slighttp/http-response.c: Removed http_free_response.
* : Added http_send_header.
* (send_status_line): Removed seperate newline ad line feed.
* user_main.c: Removed old static page code.
* (g_builtin_uris): Added REST handlers instead.
2015-06-10 Martin Grønholdt
* slighttp/http-response.h: Removed header generation macros.
* slighttp/http.h (uri_html_callback): Renamed uri_html_callback to uri_response_callback.
(uri_response_callback): Removed parameter response from uri_response_callback.
(uri_response_callback): Changed return type to size_t.
: Removed HTTP_CLOSE_CONNECTIONS.
: Added HTTP_FILE_CHUNK_SIZE, to set where to split file reads.
: Eliminated http_generate_response.
* slighttp/http-mime.h: Added enum mime_type_enum.
* fs/fs.c (fs_read): Fixed was always readin from start of file.
* fs/int_flash.c (flash_read): More debug output.
* fs/zip.h: Added init_zip.
* fs/zip.c: Added init_zip.
* (zip_find_file_header): Fixed access to data after they were freed.
: File look up caching.
(zip_is_dir): Fixed a string index.
* net/wifi_config.c: Removed file.
* net/wifi_config.h: Removed file.
* slighttp/html-response.c (http_send_response): More debug output.
* net/wifi_connect.c: Added static network REST handler.
* rest/network.c: Added file. Return the current network name.
* rest/net-names (rest_net_names_html): Return an empty JSON array while scanning.
* : Added more debug output.
* : Changed name to rest_net_names.
* (rest_net_names_destroy): Renamed parameter html to response.
* rest/rest.h: Changed rest_net_names_html to rest_net_names.
* : Added rest_network_test, rest_network, and rest_network_destroy.
(rest_net_names_destroy): Renamed parameter html to response.
* rest/net-names.c (rest_net_names_test): Fixed comparison length.
* fs/connect/index.html: Implemented REST data for network selection.