tkem / openlap Goto Github PK
View Code? Open in Web Editor NEWSlot Car Race Management App for Carrera(R) Digital 124/132
License: Apache License 2.0
Slot Car Race Management App for Carrera(R) Digital 124/132
License: Apache License 2.0
Should probably pass sleepOnPause: false
to serial.open()
.
ionic-native
.Fall back on ionic Toast for development only.
Need to handle clicks (hide) and replace, though.
After reviewing the different alternatives, the preferred way would be to
LocalStorage
for testing in the browser, since items can be easily changedNativeStorage
in an app, since this seems to be the most "lightweight" alternative for persisting on app updatesFor use with LocalStorage
, an optional prefix should be supported for testing multiple apps on localhost
.
Only relevant for "race" mode. Maybe also add something like "n seconds to go" for qualifying.
Open Lap should support i18n. For starters, German translations should be added (target market and available resources).
TBD:
ng2-translate
For improved accessibility, race events should not only be announced using TTS, but also displayed on screen (marquee?). Can/should reuse user settings.
Implementation hint: maybe don't stop the timer, just stop the counter!
At least in landscape mode - wouldn't take too much space and may improve usability regarding driver/colors/etc, settings.
At least when running in the emulator, there are several issues with Android 4.4:
Sometimes it's easier to identify cars by color than by ID.
Currently only activated for lap-based races.
Collect and display more data during a race, for example
Need to distinguish defaults (value unknown) from explicitly set values. Maybe also rename menu entry from "Car Setup" to "Tuning" to better distinguish from "Settings"?
It is quite unlikely that this will work with Android <4.4:
<preference name="android-minSdkVersion" value="19"/>
There's a setting for "False start", but is it ever triggered?
This should be changeable in settings (new look & feel category?)
Probably need to check if device (esp. Blueetooth) is available (while splashscreen is shown)...
TBD: What if not?
Clearer, also used in ARC.
The leaderboard shows different information based on device orientation. Currently this only changes when the board gets updated. Orientation events should be used instead.
Leaderboard should display green "up" or red "down" arrow if position has changed since last lap (unless pit or finished icons are displayed).
Details TBD.
Visible in licenses page, for example. Somewhat irritating with dark theme.
Should change speed/brake/fuel settings for all cars. Maybe also add button to (re-)apply settings.
Add mode where every driver must finish all set laps. TBD: How to handle time-based races.
Test case: CU goes to sleep and is reset. Even though automatic reconnect won't work, pressing "Reconnect" in connection menu should perform a clean disconnect/connect.
F1 TV broadcasts seem to use red "PIT" for cars entering pit lane and white "PIT" for cars during pit stops and leaving pit lane. Distinction could be made by first fuel increment, but yellow background should go, anyway.
For example, switching between app and connection menu no longer works.
TBD: Does it make sense to "stop" a practice session?
Restart seems useful, though.
Apparently, the CU ignores the reset command when "paused", i.e. when start lights are on.
Therefore, if a race is started with start lights active, fuel will not be reset to maximum level.
This seems also to be the case with other apps, but possible workarounds should still be investigated.
Filtering by UUID doesn't seem to work well on Android, so all scanned BLE devices are currently displayed, including tooth brushes, etc.
Manually filtering by name/regex might be an option, but should be made configurable for easier debugging.
Currently, vehicles/drivers are only displayed in the leaderboard after crossing the finish line at least once.
Showing all vehicles with a non-zero fuel value may improve usability.
Speak when car enters pit (except when finished).
When leaving the Speech settings, sometimes the last message is repeated. Probably an RX issue in RaceControl.
[x] Review settings (especially section titles).
[x] Review messages.
[x] Review licenses.
[x] Review default colors.
Probably an Ionic issue: input loses focus when tapping the clear (x
) button.
First car crossing start/finish line should set total laps to "1", as "lap 0" is rarely used in professional motor sport.
TBD: Leaderboard "laps" counter.
May be helpful when racing with multiple drivers. Should be added to general options.
There should be an option to reset all stored user settings to default values.
There should be an option to restart or prematurely stop ("red flag") a race or qualifying session without going through the side menu. Restart may also apply to practice mode.
This should probably be implemented using a popover/menu on the leaderboard page. If the race hasn't finished, restart should use a confirm dialog.
Add an option to impose penalties on a driver; time penalties should be most common, but drive-through penalties may also be possible. See e.g. https://www.formula1.com/en/championship/inside-f1/rules-regs/Licenses_driving_protocol_and_penalties.html or http://www.fiawec.com/presentation/regulation.html for inspiration.
At least during qualifying, canceling a driver's (last) lap time may also make sense.
Start light resets mask, so mask should be reset when lights go back to zero (check behavior when setting mask if lights already count down).
Reconnect has potentially similar behavior.
If a lap-based race is terminated early, e.g. by timeout or using the context menu, a "Final lap" message may still occur.
@ionic/storage
(sqlite?).gitkeep
in www
wrt cordova.editorconfig
rxjs
imports (tree-shaking)Integrate with current ErrorHandler; also evaluate popups for severe errors ("this shouldn't have happened")
Cars "in pit" should probably be set to "finished" automatically.
Too much table layout weirdness...
If a car crosses the finish line for the first time after a race is stopped, it will have to finish one lap until the car is flagged as "finished". This should happen immediately, or new cars should be ignored after race is finished (e.g. by setting mask to active entries).
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.