Commit Graph

421 Commits

Author SHA1 Message Date
ZanzyTHEbar
9a8ff6659a update
- Remove CMake files
2022-09-08 13:54:08 +01:00
Lorow
6a33cb450d Simplify baseAPI - replace calls to projectManager through hardware managers with a pointer to said manager
Fix a bug - saving camera settings was triggering networksConfigUpdated event

Hookup camera update

TODO:
- simplify APi utilities - consider replacing inheritance with composition
- Add brightness control setting to API
2022-09-08 00:38:09 +02:00
ZanzyTHEbar
4eac69a986 minor update
- Fix long long issue with my_delay
Timer was taking longer than anticipated.
2022-09-05 23:04:20 +01:00
ZanzyTHEbar
c040f10b1b minor update
- formatting
2022-09-05 22:56:56 +01:00
Lorow
dd5c6454a6 Update comments with explanation as to why we're setting false to loaded networks
add printing of the stream address
2022-09-05 23:38:25 +02:00
ZanzyTHEbar
27ece435cd Revert "Large Update"
This reverts commit 4812ba5f35.
2022-09-05 13:46:42 +01:00
ZanzyTHEbar
4812ba5f35 Large Update
- Clean up main
- Change handling of APIServer start & StreamServer start
to the WiFiHandler
- Call the setupWifi in the WiFiHandler begin method
- Remove WiFiHandler from APIServer and pass in ProjectConfig directly
2022-09-05 13:11:59 +01:00
ZanzyTHEbar
f23c477315 update
- Remove debug_mode option in favour of setting it in the proper environment.
- Now, the user does nothing but pick the environment
2022-09-05 12:43:22 +01:00
ZanzyTHEbar
6217195248 update
- Added debug-mode support
- to disable DebugOutput change debug_mode to 0
2022-09-05 12:37:57 +01:00
ZanzyTHEbar
e4dc25a2a6 update
- remove delay() method and change with my_delay
- my_delay is a for loop that counts down
2022-09-05 12:30:36 +01:00
ZanzyTHEbar
4987144a96 update
- fix minor formatting
2022-09-02 01:08:24 +01:00
ZanzyTHEbar
622ea32fd8 update
- disable turning off the brownout-detector. Was added for personal debugging
no longer needed
2022-09-02 01:05:08 +01:00
ZanzyTHEbar
36162d5d86 update
- make Logo printASCII function inline
2022-09-01 23:01:30 +01:00
ZanzyTHEbar
d965ac466b update
- Fix the casting issue with setCamera
- Fix the linker undefined error with setCameraConfig
2022-09-01 23:00:02 +01:00
Lorow
9726e51446 Add missing logo.hpp 2022-09-01 23:45:55 +02:00
Lorow
8bb1eccd12 Add cameraReset endpoint, move logo from apiutils to separate package, fix emplace_back - missing param for adhoc
Known issues: doesn't compile, linker can't seem to find a definition of setCameraConfig
2022-09-01 22:50:14 +02:00
ZanzyTHEbar
13d307d964 update
- Fix the setWiFi method not writing to the correct config
- Depreciate the to_string method in favour of append method and itoa
2022-08-31 17:43:18 +01:00
ZanzyTHEbar
9fc62b6a36 update
- Revert initConfig to use empty string syntax. Easier to read.
2022-08-31 17:11:16 +01:00
ZanzyTHEbar
30212835fd update
- Fixed a minor bug in the wifihandler
not displaying the connected network properly
2022-08-31 17:10:50 +01:00
ZanzyTHEbar
d8f40da5a6 update
- Fix setWiFi crashing due to incorrect cast of int to byte.
- Update strings to use assign method.
2022-08-31 17:04:28 +01:00
ZanzyTHEbar
7a06a8da5c update
- Add user-configured wifi channel to constructor
2022-08-31 16:25:53 +01:00
ZanzyTHEbar
7fbe2ea446 update
- misspelled successfully - lol
2022-08-31 13:32:42 +01:00
ZanzyTHEbar
2887baabee update
- Begin removing commented/unneeded code
2022-08-31 13:23:37 +01:00
ZanzyTHEbar
80d7e34f3a update
- Fix ESP crashing when camera probe fails
2022-08-31 13:23:21 +01:00
ZanzyTHEbar
7e2a96b967 update
- fix wifihandler while-loop break statement bug. Symbol was checking
<= when it needs to be >=
2022-08-31 00:59:27 +01:00
ZanzyTHEbar
23a5b18dcd update
- Fix WiFiHandler logging network name issue
2022-08-31 00:53:21 +01:00
ZanzyTHEbar
b26f7d7a22 oopsie update
- Forgot to add constructor for WiFiConfig_t struct. Woops.
2022-08-31 00:51:37 +01:00
ZanzyTHEbar
583a2545f8 Update
- Finally fix preferences lib
- Setup API to use the preferences lib
- Setup the WiFiHandler to use the preferences lib
- Remove the triggerWifiConfigWrite
in favour of handling that in the setWiFi method itself
2022-08-31 00:45:30 +01:00
Lorow
2cc2992388 Fix build failing due to missing includes 2022-08-30 20:42:12 +02:00
DaOfficialWizard
10e88015cf
Update baseAPI.cpp 2022-08-30 15:18:20 +01:00
ZanzyTHEbar
19733adcf8 update
- Optimize std::string in function params by passing in a const reference
2022-08-29 15:02:40 +01:00
ZanzyTHEbar
41fe047f7a update
- Change the handle request to only handle the request itself
- Allow each function to handle their own parameters
2022-08-29 13:38:58 +01:00
ZanzyTHEbar
c220bf6606 update
- Fixed bug in request handler
- needed to add support for     non-param URL requests
2022-08-29 13:23:55 +01:00
Lorow
440c755568 Bump the httpd buffer to 20480 to fix freezing / buffer overflow issue, turn off brownout detection 2022-08-28 21:03:48 +02:00
Lorow
2d1906c5cc Merge remote-tracking branch 'origin/feature/storage-with-preferences' into feature/storage-with-preferences 2022-08-28 20:58:52 +02:00
Lorow
d65532a6b1 Bump the httpd buffer to 20480 to fix freezing / buffer overflow issue 2022-08-28 20:58:38 +02:00
ZanzyTHEbar
e373cc704f update
- Edited the Wifi Scanner in NetworkUtils namespace
- Added config.grab_mode = CAMERA_GRAB_LATEST;
to camera config to grab the latest frames
- Set httpd stack size to 20480
2022-08-28 18:31:48 +01:00
ZanzyTHEbar
a5820c674a update
- Revert Constructors for now to fix APIServer not working
- Begin implementation of the Preferences Lib
2022-08-28 17:14:10 +01:00
Lorow
ccf089d69f Set the ESP to no power saving more 2022-08-28 16:42:45 +02:00
ZanzyTHEbar
c95666307c update
- Add TODO regarding the POST request for JSON handling
- Modify try-catch for handleRequest to catch all exceptions
2022-08-28 15:26:30 +01:00
ZanzyTHEbar
91c3918fdc Update
- Turn off Power Saving mode for the wifi chip
This is to try and prevent freezing
2022-08-28 15:07:01 +01:00
ZanzyTHEbar
d802b4a5d7 Update
- Optimize the dependency injection model for the API classes
- Removed the constructor params from the base-classes of APIServer
- Allocate data to the base-class members in the Constructor of APIServer
2022-08-28 15:02:58 +01:00
ZanzyTHEbar
37f501c442 update
- remove extranious methods
2022-08-25 17:21:58 +01:00
ZanzyTHEbar
e1936c6212 update
- some minor formatting
2022-08-25 14:30:09 +01:00
ZanzyTHEbar
2ea338d0cd update
- Disable Brownout detection
- Begin adding camera settings handlers to API
- fix ADHOC stream server issue
2022-08-24 18:24:41 +01:00
DaOfficialWizard
1127f3d767
Update apiUtilities.cpp 2022-08-23 01:05:51 +01:00
ZanzyTHEbar
3d6f8827a8 hehe update
- Fix pathing issues with Utilities classes
- Adding really nice ASCII art for boot image :)
2022-08-23 00:04:25 +01:00
ZanzyTHEbar
110bab0b28 update
- Added cool progress bar - lol
2022-08-22 23:04:16 +01:00
ZanzyTHEbar
96cb7885e0 update
- Improve performance of vectors
2022-08-22 18:36:23 +01:00
ZanzyTHEbar
942ecfefec update
- optimize vector of routes
2022-08-22 15:44:53 +01:00
ZanzyTHEbar
88e77cd571 update
- APIServer is now fully functional
- APIServer uses REGEX for url parsing
2022-08-20 15:54:11 +01:00
ZanzyTHEbar
a18129faf7 update
- Fix some formatting issues
2022-08-20 14:57:34 +01:00
ZanzyTHEbar
78cc161e45 minor update
- Changed formatting from 2 spaces to 4 for indents
2022-08-20 14:14:58 +01:00
ZanzyTHEbar
687be8afb7 large update
- Fully reworked the API code, wifi handler, and serial manager
- Added proper APIServer
2022-08-20 14:02:10 +01:00
ZanzyTHEbar
36bfcf3a3a update
- remove extra, unneeded params for begin statement
- changed default channel to 1 from 10
2022-08-15 06:46:12 +01:00
ZanzyTHEbar
162c511a1f update
- add proper build_type flag for debug and release
- added default value for MDNS name
2022-08-15 06:30:53 +01:00
ZanzyTHEbar
e90e94d5a5 update
- implement backup to ADHOC if all attempts at STA networks fail
--> tries flash first
--> tries hard-coded value if flash fails
--> goes to adhoc if all else fails
2022-08-15 05:58:45 +01:00
ZanzyTHEbar
8ce0ea0860 update
- Fix preferences lib
- Fix ADHOC
- Optimize API
- Implement full preferences lib
- Implement API with preferences lib
2022-08-15 05:54:06 +01:00
ZanzyTHEbar
b69e6f9fad update gitignore to ignore log files 2022-08-14 17:09:50 +01:00
ZanzyTHEbar
c426688eb2 update
- refactoring wifi handler
2022-08-14 13:04:44 +01:00
ZanzyTHEbar
b55e25971c minor update
- add official support for the ESPWRover boards (i tested it on mine - it works)
2022-08-14 11:38:39 +01:00
ZanzyTHEbar
eca62867f4 major update
- Changed command handler for API to Hash Map
- removed switch case functionality
- began addition of JSON handling in API
2022-08-13 21:35:18 +01:00
ZanzyTHEbar
72ece2617a update 2022-08-13 03:40:55 +01:00
ZanzyTHEbar
1f6064a811 small update
- changed log_d in command_handler to log_e
2022-08-13 03:22:19 +01:00
ZanzyTHEbar
5258f16513 update
- Changed API to use unordered map and switchcase
This improves performance, condences the code, and makes the code more portable
2022-08-13 03:12:30 +01:00
ZanzyTHEbar
652a1775b3 update
- Create typedefs for the StateManager
2022-08-13 01:36:47 +01:00
ZanzyTHEbar
6fe7bbce2f update
- Add ADHOC channel support
2022-08-13 00:43:50 +01:00
ZanzyTHEbar
61cf177f15 update
- add some useful comments
2022-08-13 00:40:13 +01:00
ZanzyTHEbar
e0ddf4697d update
- implement full ADHOC
- implement WiFi class config usage with ADHOC
- implement API usage with WiFi class config struct
2022-08-13 00:37:36 +01:00
ZanzyTHEbar
f685a464e5 update
- Attempt to fix NVS_OPEN error
2022-08-11 20:55:25 +01:00
ZanzyTHEbar
b2e43c80e9 remove copy constructor error 2022-08-11 19:43:07 +01:00
ZanzyTHEbar
a775e849b4 remove copy constructor error 2022-08-11 19:37:37 +01:00
ZanzyTHEbar
35d47f1d73 added fallthrough case logic for switch 2022-08-11 19:29:51 +01:00
ZanzyTHEbar
ac8a38d6b4 update
- fixed ADHOC stream server not starting
2022-08-11 19:22:31 +01:00
ZanzyTHEbar
ed5bf79ffd update
- fixed ADHOC stream server not starting
2022-08-11 18:39:02 +01:00
ZanzyTHEbar
746b6ff133 experimental update
- Started to migrate the project to smart pointer
- Added ADHOC support
2022-08-11 17:37:15 +01:00
ZanzyTHEbar
32b077472f experimental update
- Started to migrate the project to smart pointer
- Added ADHOC support
2022-08-11 17:12:38 +01:00
ZanzyTHEbar
44bd70fc23 update
- Change the camera handler to a shared pointer
2022-08-01 19:20:05 +01:00
ZanzyTHEbar
c29d502aeb add comment about dereferencing the cameraHandler 2022-08-01 19:09:50 +01:00
ZanzyTHEbar
5e1321515a big update::FIX
- Fixed serialManager undefiend error
- Moved the make_unique function into an override of std namespace
- properly implemented the make_unique function
2022-08-01 19:07:06 +01:00
ZanzyTHEbar
1bfb67ca40 big update
- renamed observers folder to utilities
- created a make_unique function in the utilities namespace
- migrated the main.cpp object creations to unique pointers
2022-08-01 18:50:04 +01:00
ZanzyTHEbar
6ad444c866 update
- fix some formatting
- reduce the size of the serial buffer to 1000
2022-07-31 13:57:05 +01:00
ZanzyTHEbar
ada9dfd9cf update
- remove uneeded enum in serial manager class
2022-07-31 13:51:33 +01:00
ZanzyTHEbar
a414581113 update
- remove blocking delay
2022-07-31 13:44:01 +01:00
ZanzyTHEbar
849a4741f5 update
- Added serial manager include notations
2022-07-31 13:42:33 +01:00
ZanzyTHEbar
67ca634f97 update
- Added basic serial manager functionality
2022-07-31 13:41:48 +01:00
ZanzyTHEbar
7f21952cf2 update
- add better more flushed out serialmanager class
- move mdns object initialisation call above the streamserer call
2022-07-30 18:27:18 +01:00
ZanzyTHEbar
151b01251e update
- Changed SerialManager to only set the config on newData
- Changed serial manager to save to flash after all configs set
- Changed main init config structs and load config
2022-07-30 17:50:21 +01:00
ZanzyTHEbar
19e0a66a46 successfully compiles 2022-07-30 17:32:37 +01:00
ZanzyTHEbar
2524102da5 added comments in webserver + example on unique_ptr 2022-07-28 05:58:10 +01:00
ZanzyTHEbar
1d998b28d1 update
- Fix paths for includes
- Set _already_loaded to true at end of load method.
2022-07-28 05:41:52 +01:00
ZanzyTHEbar
496e4f31a2 create library.json 2022-07-28 05:14:25 +01:00
ZanzyTHEbar
aebe2ae870 formatting 2022-07-24 22:00:37 +01:00
ZanzyTHEbar
f3606676f9 implemented:
- save, load, reset functions for config
2022-07-24 21:58:13 +01:00
ZanzyTHEbar
4a8ebffa82 update
- Completed Serial Manager
2022-07-24 21:52:30 +01:00
ZanzyTHEbar
1529b8b335 Co-authored-by: Zdzislaw Goik <goik.zdzislaw@gmail.com> 2022-07-24 20:26:27 +01:00
Lorow
6ae261da50 Start the servers only when connected to wifi - prevents crash loop when esp can't connect 2022-07-22 21:08:14 +02:00
Lorow
6906446cc0 Move info about new way to setup WiFi connection into readme file 2022-07-22 21:08:14 +02:00
ZanzyTHEbar
7da2449733 Big update
- Removed credentials.h && pinouts.h
- Added wifi environment and pinouts env to ini file

To get rid of the extra header files i migrated the settings to the ini
This is much cleaner imo and easier to maintain.
I added explixit commets to guide the user to the right section to add their wifi details
2022-07-22 21:08:14 +02:00
ZanzyTHEbar
06ca809d26 update state manager
- Migrated instationation of StateManager objects to CPP file.

This was to remove them from the main, keep the main clean.

Now objects are accessible whenever you include the header.
No need to recreate them.
2022-07-22 21:08:14 +02:00
ZanzyTHEbar
fca754d2cc fixed statemanager class
- Implemented a proper templated statemanager
- Any number of program states can be passed to the class.
2022-07-22 21:08:14 +02:00
ZanzyTHEbar
abd1443bf5 refactor project
Refactor entire project - need to fix Statemanager to get rid of the linking error
2022-07-22 21:08:14 +02:00
Lorow
2af63b9d7c Move OTA and Observer to libs 2022-07-22 21:08:14 +02:00
Lorow
1f823a96ab Remove the dependency on GlobalVars.h 2022-07-22 21:08:14 +02:00
Lorow
62df54295f Remove OpenIris namespace - code cleanup 2022-07-22 21:08:14 +02:00
Zdzislaw Goik
cdb89b8444
Make colorize optional (#22) 2022-07-18 00:18:30 +02:00
Prohurtz
b74f23d86a
fix brightness for users (#21) 2022-07-17 20:50:43 +02:00
Zdzislaw Goik
78ac54bff8
Rewrite the streaming back to http while keeping AsyncWebServer in charge of API, remove OTA update time limit (#19) 2022-07-13 23:43:56 +02:00
Prohurtz
08bdb6d378
increase fps to about 60, add notes about settings (#18)
adjusted xclk_freq to 20Mhz which allows up to get to about 60fps average at 20-30ms latency

adjusted jpeg_quality to 7 from 5, this makes it slightly lower quality but done to get lower latency. May revert at some time but should be fine.

added a few notes on the settings
2022-07-06 21:38:27 +02:00
Lorow
d7844aa949 update documentation 2022-07-04 23:23:41 +02:00
Lorow
b3c4930934 Add missing variables causing debug build to fail 2022-07-04 23:23:41 +02:00
Lorow
b06a8db956 fix typo in OTA DVERSION 2022-07-04 23:23:41 +02:00
DaOfficialWizard
f65dd2e9e9 Feature/Cleanup prints and set up proper build environments
* Add entire .vscode folder to git ignore
Stop trackign vscode folder files
Added debug, release, and OTA (experimental) build environments.

* Add entire .vscode folder to git ignore
Stop trackign vscode folder files
Added debug, release, and OTA (experimental) build environments.

* change all Serial print statements
implement proper log functions instead
2022-07-04 23:23:41 +02:00
Lorow
f0380a7c42 Improve the streaming and ov2640 settings to support streaming UXHD images without corruption 2022-07-04 23:23:41 +02:00
Zdzislaw Goik
f7c659a3bc
Feature/rewrite to asyncwebserver (#11)
* Rewrite get parameters and streaming to asyncwebserver

* Code cleanup
2022-04-26 00:10:59 +02:00
Zdzislaw Goik
693edd49a6
Add MDNS support (#9) 2022-03-28 00:03:29 +02:00
Zdzislaw Goik
6ce20aa8ab
Feature/improve documentation (#6)
* Add GNU-GPLv3 license

* Add readme
2022-03-26 18:32:38 +01:00
Zdzislaw Goik
b788823375
Feature/refactor architecture (#5)
* Refactor everything under one namespace, turn most things into classes, add support for selecting ROI in cameraHandler, add state management

* Remove unsued main.py file - other projects are working on that implementation
2022-03-20 15:24:28 +01:00
Zdzislaw Goik
b6b44dc978
Feature/esp ota (#4)
* Add missing OTA.h file
2022-03-11 16:01:07 +01:00
Zdzislaw Goik
a569ac21e6
Add basic OTA updates handling (#3) 2022-03-02 22:14:00 +01:00
Zdzislaw Goik
c80b665077
Refactor PoC code into namespaces, add led management, improve directory structure (#2) 2022-02-27 19:20:10 +01:00