rananna
1 kW
- Joined
- Jul 7, 2018
- Messages
- 349
there are two options as I see it:casainho said:Things like, the assist level should represent the real assist level on the motor controller, and, on the remote, currently, even if the motor controller is off, the assist level keep changing on the wireless board and I see it changing on the Edge.
OPTION1:
Motor off: Remote display a brief red flash when pressing assist. No commands to change assist are sent to the motor when it is off.
Motor on: Remote displays a brief green flash when pressing assist. Commands are sent to the motor.
OPTION2: (what we have now)
Motor off: Remote display a brief red flash when pressing assist. Commands to change assist are sent to the motor when it is off.
Motor on: Remote displays a brief green flash when pressing assist. Commands are sent to the motor.
Option 2 allows the motor to start up with a desired assist level when the motor is turned on.
Option1 is probably the simpler option, the user only changes assist when the motor is on. However, maybe the RED flash is unnecessary if no assist commands are being sent. Maybe only flash green when motor is on for OPTION 1?
What do you think?
As we discussed previously, although the assist level change is immediately acted upon by the motor, ANT polling from the motor leads to some delay send the new assist level to ANT LEV displays like the garmin edge. (The remote is also acting like a ANT LEV display without the display) I have not observed missing commands to the motor, I will see if I can reproduce the problemcasainho said:There is a delay to see the assist level value on the Edge and on mobile, which is real but still not assist level button pressed should miss, which seems to me it is happening.
let me confirm that we are indeed missing commands first. If true perhaps a solution like this will be needed.casainho said:Can be hard to implement but I think the remote could have a queue of the buttons pressed and store like the last 5 buttons presses and ignore after 5 buttons presses - the queue would need to be a bit more smart like if user press up and then down and then up and up, the ones down and up would be removed. This queue would need to make sure it send one assist level change and have a ok from the other side. This can be complex... but at least the idea is to let user make very quick clicks and never miss anyone.
I will make the changecasainho said:I think the colors could be red for when no assist level is ready and green when the assist level is ready and changed. I like the blink on the limits. I think the blink is to short for assist level change, maybe could be twice the time, even because it takes a bit of time for assist level change / feel the motor.
The optional features of the remote are just that, optional.casainho said:I think the focus for the remote should be only to power on/off the motor, change the assist level and change display page. Things like battery SOC are nice but a bit confuse to me in the reality. And I did not had time to understand the blink of long press other then turn on / off the motor.
I think some users may thank us for the ability to see the SOC, assist level etc.
As long as the user does not see confusing information in normal use, it should be fine toi keep the SOC.
For example, I could remove the SOC display during turn on/off of the motor and keep it for only the ENTER button click.
long press PLUS- page up, long press MINUS- PAGE DOWNcasainho said:I tried to change the Edge page but did not worked, I guess I need to read more carefully the instructions of the remote to see how to enable it.
Careful about this - I have code to restart a search if ANT communication to the motor or EDGE display is lost in order to ensure that the motor reconnects quickly if communication is somehow temporarily lost. This could be a safety issue if you turn off ANT and it does not reconnect.casainho said:I added to the code a timeout to turn off the remote when there are no ANT communications for 30 seconds. Strange that when I debug it takes about the 30 seconds but with power on the board and not debugging, it takes much more time...
I will look at what you implemented.