Commit Graph

54 Commits

Author SHA1 Message Date
Owen fc4e0f39f6 calling esp_camera_sensor_get() while streaming crashes module, dont do it, report errors more coherently 2022-03-14 10:06:00 +01:00
Owen fccbd75ac3 mdns name and tooltips 2022-03-10 14:44:26 +01:00
Owen Carter cfe81b0ff8
Merge branch '4-0-rc1' into framerate_limit 2022-03-09 16:34:18 +01:00
Owen cb78162ea4 lamp default state fix #204 2022-03-09 11:40:40 +01:00
Owen 322187ced9 Strip trailing whitespace everywhere 2022-03-09 08:40:00 +01:00
Owen de0154779d Xclock in gui and stream stop button 2022-03-08 11:34:45 +01:00
Owen Carter 152eec7be6
Framebuffer fix (#199)
* Slightly longer flash delay, #188
* Framebuffer delayed frames
* Fix Travis, again
* show XCLK in dump output
* comment on slow XCLK for slow clones
* pump up the wifi watchdog default
* latest IDE and esp core
2021-12-31 02:47:58 +01:00
15498th 20f4c24dae Fix delay before first frame by sending first request boundary before
entering the loop.
2021-12-19 02:14:29 +03:00
15498th 1b836c5479 Apply framerate limiting delay after serving content boundary.
Putting delay after finishing serving the frame causes image to appear
in stream with a lag. The reason for this appears to be that browser
relies on next frame content boundary in order to determine the end of
image.

That means that in order for browser to show frame right after receiving
it, server needs to send next frame content boundary right after image
itself, and delay to limit framerate should be applied after content
boundary, not before it.

According to https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
sending first frame without content boundary will likely cause its
content to be ignored, which seems to be acceptable price for not
treating first iteration of the loop as special case.
2021-12-19 01:28:02 +03:00
15498th 721e825daa Use better name for framerate limit variables. 2021-12-18 14:54:53 +03:00
15498th 158575affe Add framerate limit, print delay in debug dump.
Add global variable and #define in config  to set default.
Add new parameter in /control handler and preferences.
2021-12-17 00:14:44 +03:00
Owen fb2fc1bcb4 Better feedback for no psram/filesystem errors 2021-09-26 11:32:24 +02:00
Owen Carter d1928a2050
Interactive slider improvements (#166)
Send slider (range input) updates immediately so that slider become more responsive.
Rate limit sending the slider updates since rapid moves could overwhelm the connection
Co-authored-by: Eric Fontaine <ericfontainejazz@gmail.com>
2021-09-26 03:00:15 +02:00
Owen b1cb4a0432 Remove framebuffer-jpeg conversion, not needed without FaceDetection 2021-09-03 15:33:19 +02:00
Owen Carter ca602a40c2
Temperature and OTA feedback (#156)
* Temperature Display in data screen (#151)
* Feedback improvements
2021-09-03 14:13:40 +02:00
Owen Carter b33f9258e9
NTP basic sync (#124)
* NTP basic sync
2021-06-08 20:42:14 +02:00
Owen Carter 84b55bad91
No face (#117)
* RemoveFace recognition, add basic OTA
* Document new IDE board selection
* #120 Correctly free boxes
* Disable WiFi Powersave for better responsiveness (#123)
* #116 OTA Password
* Force correct partition table for PlatformIO
* Readme notes regarding the 3.x branch
* Cleanup unused vars
2021-06-08 15:49:10 +02:00
Owen Carter e992269e50
Free boxes (#122)
* #120 Correctly free boxes
2021-06-08 08:08:14 +02:00
Owen Carter 0cba55bbca
V3.2 (#112)
* Fix #110 by disabling face recognition for image captures while a stream is running
* update some comments in the myconfig sample
* Update the Readme
2021-05-17 12:57:33 +02:00
Owen Carter 7fae903ed3
Logging and Debug improvements (#111)
* Logging format improvements plus debounce serial at startup
* Be clearer about whether Stream or Image capture generated a particular error, also for face recognition errors
* User defined face detection text
2021-05-11 20:09:17 +02:00
Owen Carter f97d56e8e7
face detect fix (#108)
Fixes #107; heap corruption and crash happening with ESP 1.0.6 when face detection is enabled.
2021-05-10 23:53:02 +02:00
Owen Carter 0226536055
Debug Toggle in AP mode (#105)
* #92 Debug Toggle in AP mode
* Re-structure how serial input and debug is handled/setup to allow for expansion
2021-05-09 15:04:00 +02:00
Owen Carter 26d1719430
Add client, stream and image counts to dump (#104)
* Dump a count of current connections, number of streams served, number of images sent
* Dump can be triggered on serial by sending a `d`
2021-05-09 12:45:10 +02:00
Owen Carter 77e83d9b74
Ui timers (#78)
Adds a 1-minute auto-refresh to the dump page
When a reboot is triggered from the UI better feedback is given and a timer started to refresh the page after 30s
The reboot is now done by a watchdog timer to ensure a hard reboot.
Error page:
- Reboots seem to occasionally leave the camera hardware in a bad state (I2C comms failed, it's a common problem with no real solutions yet)
- I now catch these errors and still start the web server; giving an error page that advises a hard restart (power off/on). But the esp module will also reboot once every minute since these errors also tend to spontaneously clear after a while.
2020-11-20 17:05:00 +01:00
Owen Carter 244fbb3593
Allow setting hostname and auto-led (#75)
Implement automatic Lamp illumination only while camera is active. (#72 thanks @TodWulff )
Allow Hostname setting (#74 thanks @mrmessy )
A couple of small fixes and some unnecessary debug output removed too.
2020-10-26 00:04:21 +01:00
Owen Carter 925b8eeeec
Simple versioning system (#71) 2020-10-12 13:17:21 +02:00
Owen Carter 9045e43c94
facedb and debug info (#70)
* Small bug in identifying faces when enrolling
* Sort out debug logging and add a face ID count to dump
2020-10-11 18:19:22 +02:00
Owen 7d29e36853 A whole bunch of tweaks and little fixes 2020-10-07 15:43:28 +02:00
Owen Carter 6d5ae2ef5b
Portal page with hardcoded IP addresses (#69) 2020-10-07 12:19:19 +02:00
Owen Carter 5ced309072
Change how we serve full and simple indexes, add portal page and logo to that (#68)
* Implement one URI for index pages, takes a parameter, ?view=full|simple|etc
* Add an access portal page, add a logo to that and the dump page.
* Fix default myconfig
* fix a stoopid, possibly disruptive bug that I introduced when unpacking html in my 1st commit
2020-10-07 02:08:18 +02:00
Owen Carter 1399d874fc
Multi wifi (#64)
* Multi-Wifi with best signal scanning and retry when disconnected
* AP mode; can work (optionally) as a fallback when no network found
* Captive portal
* Dump output tweaks
* Config file comments
2020-10-06 13:29:54 +02:00
Owen Carter adfa3ca8d3
Stream view fix, Status dump (#63)
* Better treatment of rotated stream in stream viewer,
still not perfect but ok for now.
* Info Page: fix #56
2020-10-03 19:49:08 +02:00
Owen 55512bc0e7 Put libs and some includes into ./src tree, addresses #60 2020-09-30 15:45:21 +02:00
Owen a35817e716 Less flashy notification LED, face recognition stubs 2020-09-28 20:32:12 +02:00
Owen Carter 25d5c86d90
Spiffs basic preferences save and restore (#49)
Implement SPIFFS based preferences save and restore, stubs for FaceDB to be aded later.
UI confirmations for Actions
2020-09-27 15:21:44 +02:00
Owen a755093a8e Partially revert the previous commit 2020-09-26 12:19:46 +02:00
Owen 274f7b7270 The messy file structure was bugging me, so a small filesystem layout refactoring, all non-core files are now in 'local' 2020-09-26 11:47:22 +02:00
Owen 79952f77dc Some trivial structure and log changes 2020-09-22 12:03:18 +02:00
Owen cf3a220a8a Start storing rotation as a signed integer, instead of a string. makes saving/loading preferences easier 2020-09-22 10:47:47 +02:00
Owen Carter 48a3dc50be
Streamviewer (#39)
* dedicated stream viewer
* minimal functionality, but does rotate correctly
* stream autostarts and scales to window size preserving aspect ratio
2020-09-15 00:04:45 +02:00
Owen Carter 91810ea280
move css into include file, and reduce whitespace in hosted site. (#36)
* Move all CSS into a include file, reduce whitespace count on primary html
* loading spinner, script tweaks, css fixes for image position/flow
* move camera index pages
* close button location needs to move as it rotates
2020-09-13 15:28:38 +02:00
Owen Carter 71dd634be8
Mini viewer (#34)
fixes #25
2020-09-10 19:54:00 +02:00
Owen Carter bab559b27d
Favicon (#30)
* New icons, correctly tinted and compressed
* Handle the new icon URI's in the main app.
* Remove the PROGMEM directives, they have no effect, and we have lots of storage.
* describe how I made the .ico file from the commandline
2020-09-10 04:26:34 +02:00
Owen Carter 9b8584f8c3
Defaults and general improvements (#24)
* A whole bunch more user configurable default settings 
* Stream URL now exposed
* Restore Linear LED operation with a nicer logarithmic function.
* Small fixes and tweaks to UI, info and javascript
* Logo
2020-09-09 02:57:37 +02:00
Owen Carter bbeed33ea0
fix #15 Synced against board and app updates in upstream (#22)
Two new board models added and a minor code change to match changes in upstream example.
2020-08-30 14:42:57 +02:00
Owen Carter dd8cf6eb46
Moreconfig (#14)
Move board hardware and other user options into myconfig
Add ability to disable lamp if fitted but not used or wanted
Disable the mjpg stream statistics output by default
2020-08-23 21:49:10 +02:00
jmfloyd 15b3db536c
Added rotation initialisation - allows to start with say 90deg. + Wifi AP option (#9)
Changes from JMfloyd:
*Allow to define an initial rotation value (compiled in) on startup; sets the select object, and initialises the figure transformations.
*Allows option to setup a wifi AP for standalone operation; My setup is for a rear camera on a trailer which requires a 90 rotation
* Additional myconfig options for rotation and wifi AP
2020-08-21 18:36:36 +02:00
Owen 617f68c80f Flash a bit more 2019-11-19 02:50:01 +01:00
Owen d0a9071785 Working, release> 2019-11-18 02:43:07 +01:00
Owen 43186d3110 Lamp controls auto-hide, stream toggles no longer in settings menu, some visual fluff 2019-11-17 14:06:41 +01:00