Open hiliving opened 6 months ago
Maybe you need to press enter in order to send the 'v' or 's' to the hoverboard.
Thank you for testing my autodetect.
Yes, I pressed v and also pressed s, but the process seems to be looping back to the beginning, trying to bridge the power switch again, or returning to the original interface
I feel that the prompt is not very clear. I don't know whether to click Enter or S, but regardless of which one to click, I will repeat the previous steps
I do not see that you cycle through all analog pins by hitting enternto find the correct one. Your screenshots only show a0.
Is the motor spinning for 2 seconds every two seconds in this first stage ,?
yeah ,it spining like your video.
Then please find the correct pin for battery voltage and then hit v to save the pin. Then send l to show the updated list. Then send s to proceed to next stage.
I am using a 24V power supply,When A4 appeared, I pressed V and then pressed S,When l is pressed, the motor restarts spinning
try A5
PA5: 39.47 V +- 0.00
PA5: 39.84 V +- 0.37
try A7
PA7: 48.70 V +- 0.00
PA7: 49.91 V +- 1.21
PA7: 51.31 V +- 1.40
try B1
PB1: 98.73 V +- 0.00
try A0
PA0: 98.86 V +- 0.00
PA0: 98.89 V +- 0.03
try A5
PA5: 39.83 V +- 0.00
PA5: 39.82 V +- 0.01
try A7
PA7: 47.19 V +- 0.00
PA7: 50.50 V +- 3.31
try B1
PB1: 98.72 V +- 0.00
try A0
PA0: 98.87 V +- 0.00
PA0: 98.88 V +- 0.00
PA0: 98.86 V +- 0.01
try A5
PA5: 39.81 V +- 0.00
PA5: 38.36 V +- 1.45
try A7
PA7: 47.68 V +- 0.00
PA7: 45.73 V +- 1.95
PA7: 48.75 V +- 3.02
try B1
PB1: 98.75 V +- 0.00
try A0
PA0: 98.86 V +- 0.00
PA0: 98.87 V +- 0.01
PA0: 98.87 V +- 0.00
try A5
PA5: 38.26 V +- 0.00
try A7
PA7: 48.58 V +- 0.00
PA7: 48.71 V +- 0.13
try B1
PB1: 0.34 V +- 0.00
PB1: 0.34 V +- 0.00
PB1: 98.72 V +- 98.38
try A0
PA0: 98.87 V +- 0.00
PA0: 98.86 V +- 0.01
PA5: 39.81 V +- 0.00
PA5: 39.83 V +- 0.02
PA5: 39.83 V +- 0.00
try A7
PA7: 45.67 V +- 0.00
PA7: 51.99 V +- 6.31
try B1
PB1: 98.71 V +- 0.00
PB1: 98.73 V +- 0.01
PB1: 98.73 V +- 0.01
PA0: 98.87 V +- 0.00
PA0: 98.87 V +- 0.00
try A5
PA5: 38.25 V +- 0.00
PA5: 38.35 V +- 0.10
PA5: 38.36 V +- 0.01
try A7
PA7: 48.72 V +- 0.00
PA7: 48.70 V +- 0.02
PA7: 48.72 V +- 0.02
try B1
PB1: 0.34 V +- 0.00
PB1: 0.32 V +- 0.02
PB1: 98.73 V +- 98.41
try A0
PA0: 98.88 V +- 0.00
PA0: 98.87 V +- 0.01
PA0: 98.89 V +- 0.02
try A5
PA5: 39.81 V +- 0.00
PA5: 38.51 V +- 1.31
try A7
PA7: 45.05 V +- 0.00
PA7: 48.92 V +- 3.87
PA7: 48.79 V +- 0.13
try B1
PB1: 0.34 V +- 0.00
PB1: 0.34 V +- 0.01
PB1: 0.32 V +- 0.02
PB1: 98.72 V +- 98.40
PB1: 0.34 V +- 98.38
PB1: 98.72 V +- 98.38
PB1: 98.72 V +- 0.00
PB1: 98.75 V +- 0.03
PB1: 98.73 V +- 0.02
PB1: 98.74 V +- 0.01
PB1: 98.71 V +- 0.03
PB1: 0.32 V +- 98.39
PB1: 0.34 V +- 0.02
sPB1: 0.34 V +- 0.01
PB1: 0.34 V +- 0.01
PB1: 98.71 V +- 98.38
PB1: 0.34 V +- 98.37
PB1: 98.72 V +- 98.39
sPB1: 0.34 V +- 98.38
PB1: 0.34 V +- 0.00
PB1: 0.35 V +- 0.00
PB1: 0.35 V +- 0.00
PB1: 98.74 V +- 98.39
PB1: 0.32 V +- 98.42
PB1: 29.34 V +- 29.02
PB1: 0.34 V +- 29.00
PB1: 0.34 V +- 0.00
PB1: 0.34 V +- 0.00
PB1: 0.32 V +- 0.02
PB1: 0.32 V +- 0.00
PB1: 0.34 V +- 0.01
PB1: 98.72 V +- 98.38
PB1: 0.35 V +- 98.37
PB1: 0.34 V +- 0.01
PB1: 0.34 V +- 0.00
#define VBATT PA4
now detecting SELF_HOLD p'v'=battery voltage
'x'=delete pin 'l'=list, 'c'=reset and 's'=next stage
ENTER for next pin
now A0
press ENTER to begin or 's' for next stage.
:-)
:-)
:-)
:-)
:-)s
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)v
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)s
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
//#define VBATT P??
now detecting SELF_HOLD pin,
bridg'v'=battery voltage
'x'=delete pin 'l'=list, 'c'=reset and 's'=next stage
ENTER for next pin
now A0
press ENTER to begin or 's' for next stage.
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
try A4
PA4: 23.54 V +- 0.00
PA4: 22.50 V +- 1.04
PA4: 24.05 V +- 1.55
PA4: 24.04 V +- 0.00
PA4: 24.06 V +- 0.02
PA4: 24.06 V +- 0.00
PA4: 22.78 V +- 1.28
PA4: 22.68 V +- 0.10
PA4: 23.80 V +- 1.13
PA4: 24.02 V +- 0.21
PA4: 24.05 V +- 0.03
PA4: 24.04 V +- 0.01
vPA4: 23.14 V +- 0.90
PA4: 22.78 V +- 0.36
PA4: 22.79 V +- 0.01
PA4: 22.77 V +- 0.02
PA4: 24.03 V +- 1.25
PA4: 24.04 V +- 0.01
PA4: 23.61 V +- 0.44
PA4: 23.31 V +- 0.29
PA4: 22.71 V +- 0.61
PA4: 22.74 V +- 0.03
sPA4: 24.04 V +- 1.31
PA4: 24.05 V +- 0.00
PA4: 24.04 V +- 0.01
PA4: 23.95 V +- 0.09
PA4: 22.81 V +- 1.14
PA4: 22.76 V +- 0.05
PA4: 24.04 V +- 1.28
PA4: 24.05 V +- 0.01
PA4: 24.05 V +- 0.00
PA4: 24.05 V +- 0.01
PA4: 22.80 V +- 1.24
lPA4: 22.84 V +- 0.04
PA4: 22.42 V +- 0.43
PA4: 24.02 V +- 1.60
PA4: 24.05 V +- 0.03
PA4: 24.04 V +- 0.01
PA4: 22.51 V +- 1.53
PA4: 22.70 V +- 0.19
PA4: 22.49 V +- 0.21
PA4: 23.83 V +- 1.34
sPA4: 24.04 V +- 0.21
PA4: 24.03 V +- 0.01
PA4: 24.03 V +- 0.01
PA4: 22.99 V +- 1.04
PA4: 22.71 V +- 0.28
PA4: 22.69 V +- 0.02
PA4: 24.04 V +- 1.35
PA4: 24.03 V +- 0.01
//#define VBATT P??
now detecting SELF_HOLD pin,
bridg'v'=battery voltage
'x'=delete pin 'l'=list, 'c'=reset and 's'=next stage
ENTER for next pin
now A0
press ENTER to begin or 's' for next stage.
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
try A4
PA4: 24.05 V +- 0.00
PA4: 22.94 V +- 1.10
PA4: 22.98 V +- 0.03
PA4: 22.77 V +- 0.20
PA4: 24.04 V +- 1.27
PA4: 24.06 V +- 0.02
PA4: 24.03 V +- 0.03
PA4: 24.05 V +- 0.02
PA4: 22.90 V +- 1.15
PA4: 22.78 V +- 0.12
PA4: 22.79 V +- 0.01
PA4: 24.04 V +- 1.25
PA4: 24.05 V +- 0.01
PA4: 24.05 V +- 0.00
PA4: 23.45 V +- 0.60
vPA4: 22.77 V +- 0.67
PA4: 22.76 V +- 0.02
PA4: 22.45 V +- 0.30
PA4: 24.06 V +- 1.60
PA4: 24.04 V +- 0.02
PA4: 23.91 V +- 0.13
PA4: 22.91 V +- 1.00
PA4: 22.39 V +- 0.52
PA4: 22.47 V +- 0.08
PA4: 24.06 V +- 1.59
PA4: 23.99 V +- 0.07
PA4: 24.04 V +- 0.05
PA4: 24.03 V +- 0.02
PA4: 22.56 V +- 1.47
PA4: 22.54 V +- 0.02
PA4: 24.04 V +- 1.51
PA4: 24.06 V +- 0.01
PA4: 24.06 V +- 0.01
PA4: 24.05 V +- 0.01
PA4: 22.84 V +- 1.21
PA4: 22.76 V +- 0.08
PA4: 23.93 V +- 1.17
PA4: 24.03 V +- 0.10
PA4: 24.05 V +- 0.02
PA4: 24.06 V +- 0.01
PA4: 23.13 V +- 0.93
PA4: 22.87 V +- 0.26
PA4: 22.81 V +- 0.06
PA4: 23.03 V +- 0.22
PA4: 24.05 V +- 1.02
PA4: 24.06 V +- 0.02
PA4: 23.58 V +- 0.49
PA4: 23.31 V +- 0.26
PA4: 22.83 V +- 0.48
PA4: 22.80 V +- 0.02
PA4: 24.05 V +- 1.25
PA4: 24.06 V +- 0.01
PA4: 24.06 V +- 0.00
PA4: 23.95 V +- 0.10
PA4: 22.96 V +- 0.99
PA4: 22.90 V +- 0.06
PA4: 24.05 V +- 1.15
PA4: 24.06 V +- 0.01
PA4: 24.05 V +- 0.01
PA4: 24.05 V +- 0.00
PA4: 22.60 V +- 1.45
PA4: 22.67 V +- 0.07
PA4: 22.52 V +- 0.16
PA4: 24.05 V +- 1.53
PA4: 24.03 V +- 0.02
PA4: 24.04 V +- 0.01
PA4: 22.65 V +- 1.39
PA4: 22.80 V +- 0.15
PA4: 22.61 V +- 0.19
PA4: 23.95 V +- 1.34
PA4: 24.07 V +- 0.12
PA4: 24.05 V +- 0.02
PA4: 24.07 V +- 0.02
PA4: 23.03 V +- 1.04
PA4: 22.82 V +- 0.22
PA4: 22.77 V +- 0.05
PA4: 24.04 V +- 1.27
PA4: 24.06 V +- 0.02
PA4: 24.04 V +- 0.02
PA4: 23.53 V +- 0.51
PA4: 22.79 V +- 0.74
PA4: 22.76 V +- 0.03
PA4: 22.70 V +- 0.07
PA4: 24.04 V +- 1.35
PA4: 24.04 V +- 0.00
PA4: 23.98 V +- 0.06
PA4: 22.81 V +- 1.17
PA4: 22.84 V +- 0.03
PA4: 22.80 V +- 0.04
PA4: 24.06 V +- 1.26
PA4: 24.05 V +- 0.01
PA4: 24.06 V +- 0.01
PA4: 24.04 V +- 0.02
PA4: 22.97 V +- 1.08
PA4: 22.89 V +- 0.07
PA4: 24.03 V +- 1.14
PA4: 24.05 V +- 0.02
PA4: 24.05 V +- 0.00
PA4: 24.05 V +- 0.00
PA4: 22.49 V +- 1.55
PA4: 22.37 V +- 0.12
PA4: 23.45 V +- 1.08
PA4: 23.97 V +- 0.52
PA4: 24.06 V +- 0.09
PA4: 24.03 V +- 0.03
PA4: 22.88 V +- 1.15
PA4: 22.41 V +- 0.47
PA4: 22.68 V +- 0.27
PA4: 22.63 V +- 0.05
PA4: 24.04 V +- 1.41
PA4: 24.04 V +- 0.00
PA4: 23.67 V +- 0.37
PA4: 23.51 V +- 0.17
PA4: 22.76 V +- 0.74
PA4: 22.84 V +- 0.08
PA4: 24.06 V +- 1.22
PA4: 24.05 V +- 0.01
PA4: 24.05 V +- 0.00
try A6
PA6: 47.83 V +- 0.00
PA6: 49.01 V +- 1.18
PA6: 49.07 V +- 0.06
PA6: 47.74 V +- 1.33
PA6: 47.73 V +- 0.01
PA6: 47.73 V +- 0.00
try B0
PB0: 31.48 V +- 0.00
try A1
PA1: 98.72 V +- 0.00
PA1: 0.33 V +- 98.39
PA1: 98.72 V +- 98.40
try A4
PA4: 24.01 V +- 0.00
PA4: 24.04 V +- 0.04
PA4: 24.04 V +- 0.01
PA4: 22.96 V +- 1.08
PA4: 23.13 V +- 0.17
PA4: 22.93 V +- 0.20
PA4: 23.77 V +- 0.85
PA4: 24.05 V +- 0.28
PA4: 24.06 V +- 0.01
PA4: 24.06 V +- 0.00
PA4: 22.75 V +- 1.30
PA4: 22.35 V +- 0.40
PA4: 22.43 V +- 0.07
VPA4: 24.05 V +- 1.63
PA4: 24.06 V +- 0.00
PA4: 24.05 V +- 0.00
PA4: 23.58 V +- 0.47
PA4: 22.44 V +- 1.15
VPA4: 22.39 V +- 0.05
PA4: 22.63 V +- 0.25
PA4: 24.05 V +- 1.41
PA4: 24.07 V +- 0.02
PA4: 24.03 V +- 0.03
PA4: 22.59 V +- 1.44
PA4: 22.80 V +- 0.21
PA4: 22.75 V +- 0.05
PA4: 24.05 V +- 1.30
PA4: 24.04 V +- 0.01
PA4: 24.06 V +- 0.02
PA4: 24.05 V +- 0.00
PA4: 22.89 V +- 1.16
PA4: 22.81 V +- 0.09
PA4: 24.03 V +- 1.23
PA4: 24.07 V +- 0.04
PA4: 24.06 V +- 0.00
'v'=battery voltage
'x'=delete pin 'l'=list, 'c'=reset and 's'=next stage
ENTER for next pin
now A0
press ENTER to begin or 's' for next stage.
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)I
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)l
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
//#define VBATT P??
PA0: 39.63 V +- 0.00
PA0: 39.40 V +- 0.23
PA0: 39.71 V +- 0.31
PA0: 39.71 V +- 0.00
PA0: 39.64 V +- 0.07
PA0: 38.26 V +- 1.38
PA0: 38.27 V +- 0.01
PA0: 38.26 V +- 0.01
PA0: 39.71 V +- 1.44
PA0: 39.71 V +- 0.00
PA0: 39.71 V +- 0.00
PA0: 39.70 V +- 0.00
PA0: 38.25 V +- 1.45
try A5
PA5: 38.26 V +- 0.00
PA5: 39.69 V +- 1.42
PA5: 39.70 V +- 0.02
PA5: 39.70 V +- 0.01
PA5: 39.70 V +- 0.01
PA5: 38.31 V +- 1.39
try A7
PA7: 49.54 V +- 0.00
PA7: 47.78 V +- 1.76
PA7: 48.71 V +- 0.93
try B1
PB1: 0.34 V +- 0.00
PB1: 0.34 V +- 0.00
try A0
PA0: 98.87 V +- 0.00
PA0: 98.86 V +- 0.01
PA0: 98.86 V +- 0.01
try A5
PA5: 38.26 V +- 0.00
PA5: 39.70 V +- 1.44
PA5: 39.71 V +- 0.00
try A7
PA7: 49.77 V +- 0.00
PA7: 45.76 V +- 4.02
PA7: 51.91 V +- 6.15
PA7: 48.40 V +- 3.51
PA7: 48.70 V +- 0.30
PA7: 48.71 V +- 0.01
PA7: 48.68 V +- 0.04
PA7: 49.85 V +- 1.18
PA7: 45.57 V +- 4.28
PA7: 48.43 V +- 2.86
PA7: 48.74 V +- 0.31
PA7: 48.70 V +- 0.04
PA7: 48.69 V +- 0.01
PA7: 48.72 V +- 0.02
PA7: 51.30 V +- 2.59
PA7: 49.62 V +- 1.68
PA7: 52.27 V +- 2.65
PA7: 48.68 V +- 3.59
PA7: 48.70 V +- 0.02
PA7: 48.71 V +- 0.00
PA7: 46.62 V +- 2.09
PA7: 50.02 V +- 3.39
PA7: 45.44 V +- 4.58
PA7: 49.00 V +- 3.57
PA7: 48.70 V +- 0.30
PA7: 48.70 V +- 0.00
PA7: 48.72 V +- 0.02
PA7: 47.83 V +- 0.90
PA7: 51.65 V +- 3.83
PA7: 46.72 V +- 4.94
PA7: 48.73 V +- 2.01
PA7: 48.71 V +- 0.02
PA7: 48.70 V +- 0.00
PA7: 49.21 V +- 0.51
PA7: 45.75 V +- 3.47
PA7: 51.03 V +- 5.28
PA7: 47.48 V +- 3.55
PA7: 48.69 V +- 1.21
PA7: 48.69 V +- 0.00
PA7: 48.90 V +- 0.21
PA7: 51.60 V +- 2.71
PA7: 48.65 V +- 2.96
PA7: 52.02 V +- 3.37
PA7: 48.69 V +- 3.33
PA7: 48.72 V +- 0.04
PA7: 48.72 V +- 0.00
PA7: 48.72 V +- 0.01
PA7: 49.40 V +- 0.69
PA7: 44.95 V +- 4.45
PA7: 48.91 V +- 3.96
PA7: 48.75 V +- 0.16
PA7: 48.69 V +- 0.06
PA7: 48.73 V +- 0.05
PA7: 47.49 V +- 1.24
PA7: 52.45 V +- 4.96
PA7: 47.23 V +- 5.22
PA7: 49.24 V +- 2.00
PA7: 48.71 V +- 0.52
PA7: 48.70 V +- 0.01
PA7: 49.96 V +- 1.26
PA7: 45.09 V +- 4.87
PA7: 46.82 V +- 1.73
PA7: 47.27 V +- 0.44
PA7: 48.72 V +- 1.45
PA7: 48.70 V +- 0.02
PA7: 47.84 V +- 0.86
PA7: 46.84 V +- 1.00
PA7: 50.73 V +- 3.89
PA7: 49.58 V +- 1.15
PA7: 48.69 V +- 0.89
PA7: 48.70 V +- 0.01
PA7: 48.71 V +- 0.01
PA7: 49.45 V +- 0.75
PA7: 46.32 V +- 3.14
PA7: 48.15 V +- 1.83
PA7: 48.76 V +- 0.61
PA7: 48.71 V +- 0.04
PA7: 48.69 V +- 0.03
PA7: 48.70 V +- 0.01
PA7: 50.63 V +- 1.93
PA7: 49.47 V +- 1.16
PA7: 51.97 V +- 2.49
PA7: 48.64 V +- 3.32
PA7: 48.74 V +- 0.09
PA7: 48.70 V +- 0.04
PA7: 48.58 V +- 0.12
PA7: 52.22 V +- 3.64
PA7: 45.71 V +- 6.51
PA7: 47.97 V +- 2.26
PA7: 48.74 V +- 0.77
PA7: 48.71 V +- 0.04
PA7: 48.69 V +- 0.01
PA7: 45.55 V +- 3.14
PA7: 51.22 V +- 5.67
PA7: 49.73 V +- 1.49
try B1
PB1: 0.34 V +- 0.00
PB1: 0.34 V +- 0.01
PB1: 0.34 V +- 0.01
try A0
PA0: 98.87 V +- 0.00
try A5
PA5: 38.28 V +- 0.00
PA5: 38.25 V +- 0.03
PA5: 38.30 V +- 0.04
PA5: 39.68 V +- 1.38
try A7
PA7: 48.74 V +- 0.00
PA7: 48.58 V +- 0.16
PA7: 50.50 V +- 1.92
PA7: 47.72 V +- 2.78
try B1
PB1: 98.70 V +- 0.00
PB1: 0.34 V +- 98.36
try A0
PA0: 98.86 V +- 0.00
PA0: 98.87 V +- 0.01
PA0: 98.87 V +- 0.00
PA0: 98.87 V +- 0.00
try A5
PA5: 38.22 V +- 0.00
PA5: 39.67 V +- 1.46
try A7
PA7: 48.77 V +- 0.00
PA7: 48.69 V +- 0.08
PA7: 48.73 V +- 0.04
PA7: 48.22 V +- 0.51
PA7: 51.59 V +- 3.37
PA7: 46.59 V +- 5.01
PA7: 49.54 V +- 2.95
PA7: 48.69 V +- 0.85
PA7: 48.69 V +- 0.00
PA7: 49.53 V +- 0.84
PA7: 45.72 V +- 3.81
PA7: 49.02 V +- 3.30
sPA7: 45.15 V +- 3.87
PA7: 48.74 V +- 3.59
PA7: 48.71 V +- 0.03
PA7: 47.31 V +- 1.40
PA7: 47.20 V +- 0.11
PA7: 47.95 V +- 0.75
PA7: 52.39 V +- 4.44
PA7: 48.71 V +- 3.69
PA7: 48.73 V +- 0.02
PA7: 48.70 V +- 0.03
PA7: 49.06 V +- 0.36
PA7: 49.84 V +- 0.78
vPA7: 44.88 V +- 4.96
PA7: 48.74 V +- 3.86
PA7: 48.72 V +- 0.02
PA7: 48.72 V +- 0.01
PA7: 48.74 V +- 0.02
PA7: 47.17 V +- 1.57
PA7: 52.32 V +- 5.15
PA7: 50.53 V +- 1.78
PA7: 48.72 V +- 1.81
PA7: 48.71 V +- 0.01
sPA7: 48.71 V +- 0.00
PA7: 49.87 V +- 1.16
PA7: 51.39 V +- 1.51
PA7: 46.52 V +- 4.87
PA7: 48.00 V +- 1.48
PA7: 48.75 V +- 0.75
PA7: 48.75 V +- 0.00
PA7: 48.69 V +- 0.05
//#define VBATT P??
now detecting SELF_HOLD p'v'=battery voltage
'x'=delete pin 'l'=list, 'c'=reset and 's'=next stage
ENTER for next pin
now A0
press ENTER to begin or 's' for next stage.
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)l
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)l
//#define VBATT P??
PA0: 39.65 V +- 0.00
PA0: 39.67 V +- 0.01
PA0: 39.66 V +- 0.00
PA0: 39.67 V +- 0.01
PA0: 39.02 V +- 0.66
PA0: 38.31 V +- 0.71
PA0: 38.26 V +- 0.05
PA0: 38.24 V +- 0.02
PA0: 39.66 V +- 1.42
PA0: 39.68 V +- 0.01
PA0: 39.58 V +- 0.10
PA0: 38.29 V +- 1.29
PA0: 38.25 V +- 0.04
PA0: 38.22 V +- 0.03
PA0: 39.68 V +- 1.46
PA0: 39.66 V +- 0.02
try A5
PA5: 39.67 V +- 0.00
PA5: 39.67 V +- 0.00
PA5: 38.30 V +- 1.37
try A7
PA7: 50.98 V +- 0.00
try B1
PB1: 98.71 V +- 0.00
try A0
PA0: 98.87 V +- 0.00
PA0: 98.88 V +- 0.01
PA0: 98.87 V +- 0.01
PA0: 98.86 V +- 0.01
PA0: 98.86 V +- 0.00
PA0: 98.87 V +- 0.01
PA0: 98.86 V +- 0.01
PA0: 98.86 V +- 0.01
PA0: 98.86 V +- 0.00
PA0: 98.88 V +- 0.02
PA0: 98.88 V +- 0.00
PA0: 98.86 V +- 0.02
PA0: 98.87 V +- 0.01
PA0: 98.86 V +- 0.01
PA0: 98.87 V +- 0.01
v
try A5
PA5: 39.10 V +- 0.00
PA5: 38.96 V +- 0.14
PA5: 38.21 V +- 0.75
PA5: 38.19 V +- 0.02
PA5: 39.66 V +- 1.47
PA5: 39.67 V +- 0.01
PA5: 39.66 V +- 0.01
PA5: 39.55 V +- 0.11
PA5: 38.30 V +- 1.25
PA5: 38.25 V +- 0.05
PA5: 39.65 V +- 1.41
PA5: 39.66 V +- 0.01
s
#define VBATT PA0
now detecting SELF_HOLD pin,
'v'=battery voltage
'x'=delete pin 'l'=list, 'c'=reset and 's'=next stage
ENTER for next pin
now A0
press ENTER to begin or 's' for next stage.
:-)
:-)
:-)
:-)
:-)
I have replaced a serial port terminal that can display sending data. Perhaps you can see something, as if it is repeating the # define VBATT now detecting SELF_HOLD pin
You and I are both on the Discord channel. If it's convenient, you can find me there
Yes it seems that it is rebooting when stage AUTODETECT_Stage_Hold is run :-/ When this stage is initialized, all remaining pins are set as OUTPUT and HIGH.
case AUTODETECT_Stage_Hold:
for (i=0;i<COUNT_PinDigital; i++)
{
if (!(aoPin[i].wState & STATE_HIDE))
{
//gpio_deinit(aoPin[i].i);
pinMode(aoPin[i].i,GPIO_MODE_OUTPUT);
digitalWrite(aoPin[iTest].i,1); // every remaining io pin might be the SELF_HOLD pin
}
}
Perhaps your board has a pin that resets the board :-(
I have uploaded a new autodetect binary with different stage order so that you can skip this stage for now:
#define AUTODETECT_Stage_Startup 1
#define AUTODETECT_Stage_VBatt 2
#define AUTODETECT_Stage_Led 4
#define AUTODETECT_Stage_Hall 8
#define AUTODETECT_Stage_HallOrder 16
#define AUTODETECT_Stage_Hold 32
#define AUTODETECT_Stage_Button 64
#define AUTODETECT_Stage_CurrentDC 128
#define AUTODETECT_Stage_Results 256
#define AUTODETECT_Stage_Finished 512
Great, thx, I will try this version
Your board seems to be a variation (different pcb version) of https://github.com/RoboDurden/Hoverboard-Firmware-Hack-Gen2.x/tree/main/target_1%3DGD32F130/v6%3D2.5
There is a test firmware hoverboard 2.1.5 master Dummy.bin
you could already try.
I do not remember if this board has been traced properly.
// ADC defines
#define VBATT PA0 // Batman313v, might be CURRENT_DC !!!
#define CURRENT_DC PA1 // Batman313v, might be VBATT !!!
But it would be nice if you continue testing my autodetect.bin. This will help to improve it.
i do not use these modern messangers..
thats the reason to not use pinmode output in autodetect to just power off while detect self hold and maybe the reason to have a main menu
Thanks AiLife for helping here. I have changed the code to
if ((buzzerTimer%3000) < 100) // relase SELF_HOLD for a short time
{
pinModePull(aoPin[i].i,GPIO_MODE_INPUT,GPIO_PUPD_PULLDOWN);
}
else
{
pinModePull(aoPin[i].i,GPIO_MODE_INPUT,GPIO_PUPD_PULLUP);
}
@hiliving , please give that hoverboard autodetect C GD32F130 tx=PA2, rx=PA3.bin
a try.
i flashed the firmware you uploaded , it works, I print the pin list like below:
//#define LED_RED P??
//#define LED_ORANGE P??
#define LED_GREEN PB8
#define UPPER_LED PB8
//#define LOWER_LED P??
//#define ONBOARD_LED P??
#define BUZZER PB9
hall and phase currents: 'r'=restart 's'=save
try 1 = C14 HALL
try 2 = C15
try 3 = F0
try 4 = F1
try 5 = A0
try 6 = B11 HALL
try 8 = A5
try 9 = A6
try 10 = A7
try 11 = B0
try 12 = B1
try 13 = B2
try 14 = B10
try 15 = A1 HALL
try 16 = B12
try 17 = A11
try 18 = F6
try 19 = F7
try 20 = A12
try 21 = A15
try 22 = B3
try 23 = B4
try 24 = B5
try 25 = B6
try 26 = B7
try 28 = B9
#define HALL_A PC14
#define HALL_B PB11
#define HALL_C PA1
#define HALL_A PC14
#define HALL_B PA1
#define HALL_C PB11
//#define PHASE_A P??
//#define PHASE_B P??
//#define PHASE_C P??
now detecting SELF_HOLD pin,'v'=battery voltage
'x'=delete pin 'l'=list, 'c'=reset and 's'=next stage
ENTER for next pin
now A0
press ENTER to begin or 's' for next stage.
:-)
:-)
:-)
:-)
and I feel that some options can be optimized, such as “s” being the next stage in some places and saving in others, which is easy to confuse.
int this section , I found that "l" didn`t work , Does it have any other function?
//#define VBATT P??
'r'=red, 'o'=orange, 'g'=green, 'u'=up, 'd'=down, 'p'=pcb led, 'b'=buzzer
'x'=delete pin 'l'=list, 'c'=reset and 's'=next stage
ENTER for next pin
now C13
try C15
try F1
try B11
try A5
try A7
try B1
try B10
try B12
try F6
try A12
try B3
g
try B5
try B7
try B9
b
try C14
try F0
try A0
try A4
try A6
try B0
try B2
try A1
try A11
try F7
try A15
try B4
r
try B6
try B8
try C13
try C15
try F1
try B11
try A5
try A7
try B1
try B10
try B12
try F6
try A12
try B3
try B5
l
try B6
l
try B7
l
try B8
l
try B9
l
try C13
No, 'l' should print the definition list also in stage AUTODETECT_Stage_Led.
This is autodetect B
you tested ?
And stage AUTODETECT_Stage_VBatt will still reset the board ?!
Could you please try autodetect C
:-)
right , this is B, now I will test C,sorry, I wasn`t realized there was already C until you told me
According to your log ouput you have
#define LED_RED PB4
//#define LED_ORANGE P??
#define LED_GREEN PB3
//#define UPPER_LED P??
//#define LOWER_LED P??
//#define ONBOARD_LED P??
#define BUZZER PB9
#define HALL_A PC14
#define HALL_B PA1
#define HALL_C PB11
Make sure you have the 3 color led module attached.
autodetect C has the old stage order but AUTODETECT_Stage_Hold might succeed now.
I will setup a Gen2.1 test setup today or tomorrow so i can verify your findings for a better user interface :-)
@hiliving you have an impressive list of github forks ! Are your from China or Taiwan ? If you know someone who cares about peace and politics, please forward my world peace plan: www.RoboDurden.de , thanks !
I now see that the LED stage also uses OUTPUT:
switch(wStage)
{
case AUTODETECT_Stage_Led:
pinMode(iPinNew,GPIO_MODE_OUTPUT);
break;
And as all possible pins are cycles, this should have resetted your board at some point.
So there might be another problem with AUTODETECT_Stage_Hold
According to your log ouput you have
#define LED_RED PB4 //#define LED_ORANGE P?? #define LED_GREEN PB3 //#define UPPER_LED P?? //#define LOWER_LED P?? //#define ONBOARD_LED P?? #define BUZZER PB9 #define HALL_A PC14 #define HALL_B PA1 #define HALL_C PB11
Make sure you have the 3 color led module attached.
autodetect C has the old stage order but AUTODETECT_Stage_Hold might succeed now.
it doesnt matter for LED now ,it can be done in the end, i want to control the motor through serial first . by the way,supporting peace is a responsibility that everyone should bear, and I am glad to contribute.
This is the log for firmware C,
'v'=battery voltage
'x'=delete pin 'l'=list, 'c'=reset and 's'=next stage
ENTER for next pin
now A0
press ENTER to begin or 's' for next stage.
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
:-)
try A4
PA4: 24.05 V +- 0.00
PA4: 24.07 V +- 0.02
PA4: 24.05 V +- 0.01
PA4: 23.11 V +- 0.94
PA4: 22.85 V +- 0.26
PA4: 23.03 V +- 0.17
PA4: 22.59 V +- 0.43
PA4: 22.44 V +- 0.15
PA4: 24.05 V +- 1.60
PA4: 24.04 V +- 0.00
PA4: 24.06 V +- 0.02
PA4: 24.05 V +- 0.01
PA4: 24.06 V +- 0.01
PA4: 22.78 V +- 1.28
PA4: 22.55 V +- 0.24
v
try A6
PA6: 49.03 V +- 0.00
PA6: 49.29 V +- 0.25
PA6: 49.47 V +- 0.18
PA6: 47.69 V +- 1.78
PA6: 47.73 V +- 0.04
PA6: 47.74 V +- 0.01
PA6: 47.71 V +- 0.03
PA6: 47.74 V +- 0.04
PA6: 49.31 V +- 1.57
PA6: 48.84 V +- 0.47
PA6: 49.18 V +- 0.33
PA6: 49.35 V +- 0.18
s
#define VBATT PA4
now detecting SELF_HOLD pin,
bridge the onOff button
press ENTER to begin or 's' for next stage.
992
0 now C14 : 991
0 now C15 : 991
0 now F0 : 991
0 now F1 : 991
0 now A0 : 991
0 now B11 : 991
0 now A5 : 989
0 now A6 : 991
0 now A7 : 991
0 now B0 : 991
0 now B1 : 991
0 now B2 : 991
0 now B10 : 991
0 now A1 : 991
0 now B12 : 991
0 now A11 : 991
0 now F6 : 991
0 now F7 : 991
0 now A12 : 991
0 now A15 : 991
0 now B3 : 991
0 now B4 : 991
0 now B5 : 991
0 now B6 : 991
0 now B7 : 991
0 now B8 : 991
0 now B9 : 991
release OnOff button
press ENTER to begin or 's' for next stage.
-991 = 1
1 now C14 : -991 = 0
1 now C15 : -991 = 0
1 now F0 : -991 = 0
1 now F1 : -991 = 0
1 now A0 : -991 = 0
1 now B11 : -991 = 0
1 now A5 : -990 = -1
1 now A6 : -991 = 0
1 now A7 : -991 = 0
1 now B0 : -991 = 0
1 now B1 : -991 = 0
1 now B2 : -991 = 0
1 now B10 : -991 = 0
1 now A1 : -991 = 0
1 now B12 : -991 = 0
1 now A11 : -991 = 0
1 now F6 : -991 = 0
1 now F7 : -991 = 0
1 now A12 : -991 = 0
1 now A15 : -991 = 0
1 now B3 : -991 = 0
1 now B4 : -991 = 0
1 now B5 : -991 = 0
1 now B6 : -991 = 0
1 now B7 : -991 = 0
1 now B8 : -991 = 0
1 now B9 : -989 = 2
SELF_HOLD PB9 //2
bridge OnOff button
press ENTER to begin or 's' for next stage.
991
0 now C14 : 991
0 now C15 : 991
0 now F0 : 991
0 now F1 : 991
0 now A0 : 991
0 now B11 : 991
0 now A5 : 991
0 now A6 : 991
0 now A7 : 991
0 now B0 : 991
0 now B1 : 991
0 now B2 : 991
0 now B10 : 991
0 now A1 : 991
0 now B12 : 990
0 now A11 : 991
0 now F6 : 991
0 now F7 : 991
0 now A12 : 991
0 now A15 : 991
0 now B3 : 991
0 now B4 : 991
0 now B5 : 991
0 now B6 : 991
0 now B7 : 991
0 now B8 : 991
0 now B9 : 991
release OnOff button
press ENTER to begin or 's' for next stage.
-992 = -1
1 now C14 : -991 = 0
1 now C15 : -991 = 0
1 now F0 : -991 = 0
1 now F1 : -991 = 0
1 now A0 : -991 = 0
1 now B11 : -990 = 1
1 now A5 : -991 = 0
1 now A6 : -991 = 0
1 now A7 : -991 = 0
1 now B0 : -991 = 0
1 now B1 : -989 = 2
1 now B2 : -991 = 0
1 now B10 : -991 = 0
1 now A1 : -991 = 0
1 now B12 : -991 = -1
1 now A11 : -991 = 0
1 now F6 : -991 = 0
1 now F7 : -991 = 0
1 now A12 : -991 = 0
1 now A15 : -991 = 0
1 now B3 : -989 = 2
1 now B4 : -991 = 0
1 now B5 : -991 = 0
1 now B6 : -991 = 0
1 now B7 : -991 = 0
1 now B8 : -991 = 0
1 now B9 : -991 = 0
SELF_HOLD PB1 //2
bridge OnOff button
press ENTER to begin or 's' for next stage.
991
0 now C14 : 991
0 now C15 : 991
0 now F0 : 991
0 now F1 : 991
0 now A0 : 991
0 now B11 : 989
0 now A5 : 991
0 now A6 : 991
0 now A7 : 991
0 now B0 : 991
0 now B1 : 991
0 now B2 : 991
0 now B10 : 991
0 now A1 : 989
0 now B12 : 991
0 now A11 : 991
0 now F6 : 989
0 now F7 : 991
0 now A12 : 991
0 now A15 : 991
0 now B3 : 991
0 now B4 : 991
0 now B5 : 991
0 now B6 : 991
0 now B7 : 991
0 now B8 : 990
0 now B9 : 991
release OnOff button
press ENTER to begin or 's' for next stage.
s
#define SELF_HOLD PB1
now detecting BUTTON pin,
release OnOff button
press ENTER to begin or 's' for next stage.
//when i release the OnOff button , the power is off ,and when i re bright it , it came to beginning.
'v'=battery voltage
'x'=delete pin 'l'=list, 'c'=reset and 's'=next stage
ENTER for next pin
now A0
press ENTER to begin or 's' for next stage.
:-)
:-)
:-)
:-)
:-)
:-)
:-)
Okay so the change from OUTPUT to INPUT_PULLUP prevents the stage to crash. However my too-clever trick to detect the hold pin does not seem to work.
For now i suggest that you keep the onOff button bridged and skip these stages with 's' and complete all the other steps. It is good to have the three led as they can help to output debug info.. Be sure your motor is strongly mounted before you enter the current pin detection
A4 is you battery voltage ?
I already have uploaded test binaries for your 2.1.6.1 board. With no hold and button pin, these should already work for the slave board, that needs external power anyway.
You can also update your Gen2_GD32 fork and update defines_2-1-6.h yourself (if you have Keil installed)
@I-hate-2FA maybe you have some eeprom code for GD32 so i could implement your hold-pin detection..
@hiliving would be nice if you could upload some nice clean photos of frontside and backside of master and of slave.
using input pullup or output high wont effect what method of detecting, the only bad side effect it may have is that the signal is too weak it can no longer self hold(which does happen, on a mm32 board, but it is very rare), that way you need to trace manually no way around it
it is not needed to use eeprom to detect self hold, just print the pin you are going to release, and wait 200ms if the code is still running use backspace to delete that and print new pin untill the board is off, but this will have to be done last ofcourse
can i ask, what is the minimum necessary pin configuration in order to make the board boot normally in gd32 like if buzzer is not set board can still drive motor normally just no boot sound in mm32 only 5 pin is verified on boot, if its not valid the firmware will not boot up (3 hall pin and 2 serial pin), all other is optional
btw your autodetect also will cause my 2.6.1 board to reset, with power button bridged, when detecting led, so the side effect of using pinmode output is already known back then, but you just removed the problematic pin from the list and call it a day
i have added #ifdef for more pins like ORANGE and HOLD to get it compiled. I still have to insert #ifdef for red and green.
I do not remember to be so ignorant as to no woreship your contributions.
I have a 2.1.4 setup running now and it can also not detect the hold pin. Yes, the led stage still uses OUTPUT instead of INPUT_PULLUP.
Today is the last sunny day here for at least a week. I will continue tomorrow with this issue here.
@hiliving would be nice if you could upload some nice clean photos of frontside and backside of master and of slave.
https://github.com/RoboDurden/Hoverboard-Firmware-Hack-Gen2.x/issues/80#issue-2273719019 done it, and very thanks
I do not remember to be so ignorant as to no woreship your contributions.
https://github.com/RoboDurden/Hoverboard-Firmware-Hack-Gen2.x/issues/53#issuecomment-1900691584
Okay so the change from OUTPUT to INPUT_PULLUP prevents the stage to crash. However my too-clever trick to detect the hold pin does not seem to work.
For now i suggest that you keep the onOff button bridged and skip these stages with 's' and complete all the other steps. It is good to have the three led as they can help to output debug info.. Be sure your motor is strongly mounted before you enter the current pin detection
A4 is you battery voltage ?
I already have uploaded test binaries for your 2.1.6.1 board. With no hold and button pin, these should already work for the slave board, that needs external power anyway.
yeah PA4 is my voltage for 24V。i am using the 24V LED power. thanks for your compile, ill test it now
The LEDs should not really effect the code, even if it's not set it'll just not be outputted, but for vbat and current DC if it's not set will the board still work normally, and the button too, the code may get stuck waiting for button to release
code will work without vbat and currentDC:
bldc.c
float batteryVoltage = BAT_CELLS * 3.6;
float currentDC = 0.42; // to see in serial log that pin is not defined
...
#ifdef VBATT
if (buzzerTimer % 100 == 0)
batteryVoltage = batteryVoltage * 0.999 + ((float)adc_buffer.v_batt * ADC_BATTERY_VOLT) * 0.001;
#endif
..
#ifdef CURRENT_DC
currentDC = ABS((adc_buffer.current_dc - offsetdc) * MOTOR_AMP_CONV_DC_AMP);
#endif
button can be disabled in config.h
//#define CHECK_BUTTON // disable = add '//' if you use a slave board as master
But yes, i shoud add
#ifndef BUTTON
#undef CHECK_BUTTON
#endif
Please @I-hate-2FA remeber that i did not write this firmware from scratch. And i have no happiness to fully recode it. So there will always be old code lingering around.
At least this is a good start to turn the unreadable gen1 mess into something workable given enough time, great work none the less, but it's why I decide to redo everything with mm and not merge into this
i test the 2.1.6.1 firmware with dummy.bin and single_uart.bin and single_uartbus_0.bin , unfortunately it can`t work. well I found that the Hall pins in 2.1.7 are the same as those in 2.1.6.1, but in a different order,and VBATT pin、 LED pin is also the same。so I changed the Hall pin of 2.1.7 to be the same as 2.1.6.1. then, it works normally and can be controlled through serial, but the button pins are incorrect and the power cannot be turned off. Only can be turned on.
Good to see that you can solve problems yourself :-) please post your final pin definitions so i can update 2.1.6
Gen2.1.6.1:
I guess i have Gen2.1.6 somewhere. Gen2.1.6 slave:
Looks like a master to me with charger and a buck converter Self hold circuit is not clear though
I posted my image of the 2.1.6(.0) slave because it shows the label v1.1. The board of @hiliving might be the older v1.0
Here my master board, 2.1.6.0 master:
the one hiliving have is v1.3
I have added a menu to my autodetect:
autodetect menu:
0: do all
1: VBatt
2: Hold
3: Button
4: Led
5: Hall
6: HallOrder
7: CurrentDc
8: Results
6,7, and 8 only show up when the preceeding stage has been completed.
for Hold i added a manual mode:
now detecting SELF_HOLD pin,
bridge the onOff button
't' to toggle manual mode.
ENTER to begin, 's' for next stage, 'q' for menu
with auto find: 0
the user has to click through every pin with ENTER.
When the onOff button is released, the board will turn off and the user can see which pin it was.
Then after restart and entering manual mode again, the user has to cycle through the pins again with onOff bridged and send 'f' when the correct pin shows up again.
I would prefer to store the value in eeprom but i do not know how to do this.
And i am again very close to the 32 kB limit: Program Size: Code=30448 RO-data=1564 RW-data=564 ZI-data=2996
I can not find a button (onOff) pin with my autodetect on Gen2.1.4:
now detecting BUTTON pin,
release OnOff button
ENTER to begin, 's' for next stage, 'q' for menu
C14 C15 F0 F1 A0 B11 A4 A5 A6 A7 B0 B1 B2 B10 A1 B12 A11 F6 F7 A12 A15 B3 B4 B5 B8 B9 A2
bridge OnOff button
ENTER to begin, 's' for next stage, 'q' for menu
C14 C15 F0 F1 A0 B11 A4 A5 A6 A7 B0 B1 B2 B10 A1 B12 A11 F6 F7 A12 A15 B3 B4 B5 B8 B9 A2
0 pins found. release OnOff button
ENTER to begin, 's' for next stage, 'q' for menu
Maybe this 2.1.4 does not have a onOff button detection ? Board simply holds the power on once it has powered on..
currentDC is also not working. With this 2.1.4 Unable to detect backcurrents. I am not sure about VBatt either :-/ All the adc does not seem to work.
@hiliving , i have uploaded a hoverboard autodetect D GD32F130 tx=PA2, rx=PA3.bin
with this new autodetect. Would be nice if you give it a try.
2.1.4.1 have latch and on off button and i know which pin it was
to use eeprom,you need 2kb of free storage(last 1kb cannot be used or the chip may not be able to boot,and you need a full page allocated to be eeprom)
its nice seeing were improving together and leave the gen1 behind,today got f103 blinking,although it will be a long and hard way because the f103 is M3 core,mm32spin is M0 core, there is allot of compatibility issue, and ofcourse the clock on f103 is also problematic, just like the mm32spin
you are 99.4% full on storage idk why is that the case when there isnt allot of strings like in my firmware
With #ifndef REMOTE_AUTODETECT
i really tried hard to remove all unnecessary code.
Maybe i will give the MicroLib a try again: Program Size: Code=26336 RO-data=1388 RW-data=564 ZI-data=1876
do you know you can read data back from terminal that you just printed?
I have never heard of that. But i could program my autodetect.ino to store and send back a byte with some special characters like i bridge your serial detection.. This however would then only work with my autodetect.ino
My board is GD32F130C6T6, and the serial port pin is PA2 PA3. I flashed in the bin named hoverboard autodetect GD32F130 tx=PA2, rx=PA3. bin
and open the serial terminal in arduino like this:
I used a self-locking button to bridge the power switch, followed by pressing the enter key, then pressing v, and then pressing s according to the prompts, but I found that my interface remained on this interface and did not display the list of automatically detected pins. Like in your video, I have watched your video many times, but I haven't found any errors. Could you please write down the specific steps so that I can check which step is problematic. thx very much.