zingo / crazycapytime Goto Github PK
View Code? Open in Web Editor NEWCheap race timer and lap counter based on ESP32 and iTag BT tags.
License: MIT License
Cheap race timer and lap counter based on ESP32 and iTag BT tags.
License: MIT License
Invesigate different way to test the code and maybe create sub issues to implement them.
Some random ideas:
To make stuff fit (and not get out of mem) the frambuffer has been moved into PSRAM, this cause some GFX glithes.
Depends on #3
Graph needs a redesign to get it working after the move to use threads with message loops.
Should support some smart UI and RaceDB data separation without the need a resend every data point every second (as it's was done before)
iTag.cpp is to big time to refactoru out the Race Database parts to it's own file?
Load and save should execute in the running contex of the RaceDB that contain the date to Load and Save
This will make the data more isolated and the mutex can be removed as almost only the RaceDB tread will touch it.
There is no line added or it is clearad somehow
Open to implementor if "RaceDistance" is lap in this case or make lap distance configurable?
total Time could be an added maxtime?
maxtime should autoset graph?
Block new lap time should autocalculate when lap dist is changed?
The HW diff we use is so small so we could probe/autodetect the I2C for the touch or RTC and then have runtime cheks for the diffs.
Add big notification to show if you are slower/faster compared to plan so it easy to spot when running passed it fast.
Maybe a "flowing" thing on the graph with some number and different bg color like green/red depending on state.
During 2:nd race test (v0.2) 2 persons that runned together got about 25s diff in time, I watch the unit one of the times when it happened and could see the "first" person was spotetd by the system really early, but the 2nd person was spoted where expected.
Invesigate:
Ideas
Random crashes when pressing stuff in the GUI
Really good when using it as a race helper instead of a "race" to setup in the lap-aid-area like ona 24h race and kick it of before going to start and not needing to "start" it at the start.
It seem the start of race get moved to "now" when loading a race.
This makes auto start ongoing races in case of power off/on during a race get broken as new laps show up around time "0" and not at proper start of race position.
Needed to handle race good in case of powerlost or crash. If/when RTC is added it will be crusial to be able to just continue the race like as nothing happened.
When we start load the last (or current ongoing) race
Race info should not be hardcode compile time
Load and Save
Support multiple race profiles, as we rerun the same track/race in a new date
During 2nd race test one participant managed to turn off the iTag by misstake having two tags per person could fix this.
This would also make "fast" runners that don't stop more likely to be detected.
Load only loads and print the info in the log, it should load the data into the systems.
Edit name instead of done compile time
DESCOPED, part of #1 - Select/Edit tag used like tagnumber and color on tag
DESCOPED, part of #1 - UI for multiple tags per participant, kind of duplicate to #1
Should work anythime independent on if race is started to handle late starters, or tag problems during race.
Should be saved/loade as part of race data, and tag/participant data
Could be on "race" save after the repartitioning when wifi was added in the latest version just before VXO 24H.
This bug blocked it from working during the race as the unit restarted directly.
This wil help in accelerated testing when you restart and time is back to "normal" time.
Also it will avoid timejumps backwards if a race is restarted and this is wrong.
Stuff can be hardcoded for one participant
That participand can have 2 tags and a graph with some god race info
There is another "add it properly" ticket. This is just to get a proof of concept to the race really soon.
Some ideas:
Open to implementor if "RaceDistance" is lap in this case or make lap distance configurable?
total Time could be an added maxtime?
maxtime should autoset graph?
Block new lap time should autocalculate when lap dist is changed?
It need to be possible to correct error and modify a participand number of laps during/after the race
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.