TSDZ2 OSF for all displays, VLCD5-VLCD6-XH18, LCD3, 860C-850C-SW102.

gfmoore said:
However, I think I've slain it, though it might get up and roast me yet.

I've been singed!!

I didn't think about a command shell I was using i.e. cmder. This allows use of Linux like commands such as ls.

Now that I'm trying to get build to run from VS Code (as a task) I'm finding that there is a line:

CUSTOM_SOURCES=$(shell find spl ugui_driver *.c -type f -iname '*.c')

That doesn't work. I had replaced it with:

CUSTOM_SOURCES = $(shell ls spl\CMSIS\*.c spl\src\*.c ugui_driver\*.c *.c)

Which worked, but not from a pure command prompt only in "cmder".

The following finds all the files under cmd, but when in the Makefile it create a command window that disappears and seems to stop make.

CUSTOM_SOURCES = $(shell dir /B spl\CMSIS\*.c spl\src\*.c ugui_driver\*.c *.c)

I've tried setting MAKESHELL=command, but no joy. https://www.gnu.org/software/make/manual/html_node/Choosing-the-Shell.html

Oh, well, keep researching ... At the end of the day I can always enumerate each file.

It's not far off. :wink:
 
mbrusa said:
v20.1C.3-NEW is for stock display only.
I have to finish the trial period...

Mbrusa, how is the 20.1C.3-NEW trial going? is it safe?
 
Nfer said:
mbrusa said:
v20.1C.3-NEW is for stock display only.
I have to finish the trial period...
Mbrusa, how is the 20.1C.3-NEW trial going? is it safe?
As far as I'm concerned, the v20.1C.3-NEW version for stock displays is safe.
For the official release, I was waiting for confirmation from other users that they are using it.
In this period I mainly use the bike with 860C, but also the one with XH18, I am using it without problems.
 
Feedback after 400km 20.1c-3 New.

No errors at all.
good temperatures.
Small power consumption
Runs smooth
Stops fast

In my opinion the best version!
 
mbrusa said:
ben5763 said:
Thanks Mbrusa, but don't spend time on this if chances to block are higher.

What I see is that for real MTB, only a small factor display works (I broke my 860C screen so quickly, I even don't know how, maybe only hitting a tree branch, or vibrations during downhill...).

VLCD6 and XC18H are ok, but soo difficult to handle osf configuration :-(

SW102 is than the last option.

I dream of a "SW102 light" version which would not freeze, but without all what we don't use for mountain biking (lights, break sensor, temp sensor, coast break, street mode... and maybe others)

Maybe will try to have a look also on my side, but I'm not used to this type of programing. What is the best development tool to use whith your sources on Windows system ?
The idea of a light version for SW102 is interesting
Many features could be enabled by default without the possibility of disabling them (example "config shortcut key").
It is thus possible to eliminate some items of the configuration menu without sacrificing features.
The configuration menu structure is in the configscreen.c file and the default settings in the eeprom.h file, an advanced text editor such as Notepad ++ is enough for a change of this type.
However, you need a virtual machine with ubuntu installed and the necessary software to compile.

Well, after 2 rides with the SW102, I really feel lost, not talking about from the freezing problems. Impossible to find back the feeling I had with XH18 or 860c, although I tried to configure the same settings. Ok in first level of assistance, but feels like I see no difference between different assistance levels.... (I configure only 4 levels, 1 at lowest, 4 at the max). Although I tried to tweak different settings :-( I had the impression that it came from torque sensor calibration (which I actually did already since the beginning), but even with different wide values, or even disabling torque calibration, it did not improve.

I had a look to sources, but I cant find configscreen.c an eeprom.h in the directory. Could only find them in the Github color_LCD v1.1.0 repository, but I'm not sure whether this one is the same as your 20.1C.2 ?

The idea of setting the config values in the sources is good for the SW102 if the display issues can not be fixed. But at the end of the day, if sw102 freezing issues can not be fixed, why not consider sw102 same as stock screens ? Parameters to be set with Java configurator and flashed directly to the motor ?

Anyway won't have time in the next 4 weeks to dig into this, so I'm back to XH18 + last saved settings. And will enjoy mountain biking during my holidays, thanks to your terrific work !!! :bigthumb:

PS : So far I did try XH18, 860C and SW102. The reason why I did not like XH18 is that the turning grip is much too big. In Mtb riding, it often happened that I turned the grip accidently. So I switched to 860C. Everything was fine, except that it is too fragile for mtb. The screen was cracked afeter my 2nd ride, I even don't know how (tree branch, vibrations ?). So I tried SW102, but problems also. So what I did today was to pick my XH18 back, and saw cutting the turning grip, so that only a thin crown remains, which I can manipulate easily with one or 2 fingers :D
 
Not only am I getting singed, but I'm starting to smoke somewhat!!!! :shock:

The ISSUE: Windows command does not like /, it doesn't like \, it wants \\

The problem is that as I change and manipulate the file paths in various lists, then the targets get more and more convoluted.

I'm sure most of you don't care for the details of Makefiles, but this is so convoluted that this dragon has coils within coils and my head is spinning.

Since I could get the thing to make using the cmder shell which does like / and even some linux type commands, I'm wondering why I'm bothering.

However, I like pure environments where possible, saves people having to install stuff ...

@mbrusa.
I found a line that looks pretty old and isn't possibly needed: around line 86 or so)
LFLAGS += -Tstm32_flash.ld -L/usr/lib/gcc/arm-none-eabi/4.9.3/armv7-m -lgcc -lm -nostartfiles -lnosys -mcpu=cortex-m3 -mthumb -Wl,--gc-sections

I understand the -L flag to just indicate a directory to look in. I'm not sure if the -m at the end is part of the directory name or another flag. I don't think it matters much, but thought you might want to be alerted to it.

:(
 
Thanks gfmoore.
I understand the interest in compiling in a Windows environment, I wanted to try it too, but then I gave up.
I remember a developer who had made an 860C version for TSDZ2 with graphics similar to the original for Bafang.
Development and compilation were in a Windows environment, but the toolchain was complicated and poorly documented.
To compile I preferred to install ubuntu even if I did not know it, safe result and simple use, just run release-all.sh without doing anything else.
I have never bothered with the contents of the Makefiles.
 
Anikea said:
Feedback after 400km 20.1c-3 New.

No errors at all.
good temperatures.
Small power consumption
Runs smooth
Stops fast

In my opinion the best version!
Thanks for the confirmation, I saw that there are already other positive feedbacks.
I will be releasing v20.1C.3-NEW shortly, so I will resume testing v20.1C.4 that was interrupted a month ago. It is ready and working, I just have to make a comparison on consumption and heating.
The news are:
1 - Update to v14 of mspider65, which I thank.
https://endless-sphere.com/forums/viewtopic.php?f=30&t=103318&start=225#p1657030
2 - The torque sensor calibration method will be modified to make it more intuitive and effective.
 
ben5763 said:
Well, after 2 rides with the SW102, I really feel lost, not talking about from the freezing problems. Impossible to find back the feeling I had with XH18 or 860c, although I tried to configure the same settings. Ok in first level of assistance, but feels like I see no difference between different assistance levels.... (I configure only 4 levels, 1 at lowest, 4 at the max). Although I tried to tweak different settings :-( I had the impression that it came from torque sensor calibration (which I actually did already since the beginning), but even with different wide values, or even disabling torque calibration, it did not improve.

I had a look to sources, but I cant find configscreen.c an eeprom.h in the directory. Could only find them in the Github color_LCD v1.1.0 repository, but I'm not sure whether this one is the same as your 20.1C.2 ?

The idea of setting the config values in the sources is good for the SW102 if the display issues can not be fixed. But at the end of the day, if sw102 freezing issues can not be fixed, why not consider sw102 same as stock screens ? Parameters to be set with Java configurator and flashed directly to the motor ?

Anyway won't have time in the next 4 weeks to dig into this, so I'm back to XH18 + last saved settings. And will enjoy mountain biking during my holidays, thanks to your terrific work !!! :bigthumb:

PS : So far I did try XH18, 860C and SW102. The reason why I did not like XH18 is that the turning grip is much too big. In Mtb riding, it often happened that I turned the grip accidently. So I switched to 860C. Everything was fine, except that it is too fragile for mtb. The screen was cracked afeter my 2nd ride, I even don't know how (tree branch, vibrations ?). So I tried SW102, but problems also. So what I did today was to pick my XH18 back, and saw cutting the turning grip, so that only a thin crown remains, which I can manipulate easily with one or 2 fingers :D
The source code are here:
https://github.com/emmebrusa/Color_LCD_860C/archive/refs/heads/master.zip
The files are located in:
Color_LCD_860C-master \ firmware \ common \ src \ configscreen.c
Color_LCD_860C-master \ firmware \ common \ include \ eeprom.h

With SW102 (860C-850C) the parameters are stored in the display, not in the motor controller.
If you want to change the configuration values in the eeprom.h file, consider that for the same version, the parameters are the same for both XH18 and SW102.
The only difference is that with XH18 the assistance parameters in Power mode are in% and as a value they are double of SW102, so if with XH18 you set 100, with SW102 (860C-850C) you have to set 50.
Happy holiday.
 
mbrusa said:
Thanks gfmoore.
I understand the interest in compiling in a Windows environment, I wanted to try it too, but then I gave up.

After sleeping on it, I have decided to give up on pure windows command environment. I just don't understand enough about the "makefile dependency magic" and I can't figure out exactly what it is doing. The people who wrote it really are twisted evil geniuses :lol: and I really don't want to spend any more time on it. Like you say, I can use my Linux machine or build using cmder on windows. The motor builds fine on windows. I've read that VS Code (which I use) can also build, but ... (EDIT: Just checked this out, nothing special, it is just using tasks.json and putting all your compiler options in there. Or call cmake. Oh well.)

My real mission, when my cable arrives, is to see how the motor code works, because I really want to use my phone to configure (as done by Casainho and mspider66) and to display real time data (feketehegyi - who I wish would be more open with his explorations :sigh). I think that will be a more productive use of my time.

Had an absolutely fantastic ride on my bike yesterday. Lots of up and down hills. There is no way I could have managed them without the assistance of the motor, but I still got plenty of exercise. Thanks again to all you guys for your wonderful work.

I use (flared) drops and STi brake shifters. I cannot find a good position for the 850C buttons. I'd like them to be near the hoods and therefore the brake! But then it gets knocked by my hand when I'm on the hoods and turns off or drops down the assist level. I'm thinking that since I only have a single chain sprocket at front then the (left) hand shifter could be put to use for changing the assist level. I'm wondering how the buttons are wired up. I know Casainho was going to try and open it up, but couldn't without breaking it. I'll have to check and see if it is just a switch (which I think it is) or if there is some electronics inside. I was thinking of either two brake sensors and magnets, or even using Hall sensors (I have analogue and digital ones) if a signal is needed. I think the brake sensor is an enclosed reed switch. If anyone has any better knowledge or a pin out diagram...

EDIT: Questions are answered here https://www.endless-sphere.com/forums/viewtopic.php?p=1666841#p1666866 I'm pretty certain that the control is just three push to make switches going into his bluetooth board.

Brake stuff here https://github.com/OpenSourceEBike/TSDZ2_wiki/wiki/FAQ#Brakes

:)
 
gfmoore said:
.....
My real mission,........ I really want to use my phone to configure (as done by Casainho and mspider66) and to display real time data (feketehegyi - who I wish would be more open with his explorations .....
I think the best is to focus on the wireless versions of Casainho or mspider65.
imho feketehegyi has the simplest HW BT interface, but everything for OSF is removed, so if you hadn't earlier a look at it, you must build it from scratch.
 
mbrusa said:
ben5763 said:
Well, after 2 rides with the SW102, I really feel lost, not talking about from the freezing problems. Impossible to find back the feeling I had with XH18 or 860c, although I tried to configure the same settings. Ok in first level of assistance, but feels like I see no difference between different assistance levels.... (I configure only 4 levels, 1 at lowest, 4 at the max). Although I tried to tweak different settings :-( I had the impression that it came from torque sensor calibration (which I actually did already since the beginning), but even with different wide values, or even disabling torque calibration, it did not improve.

I had a look to sources, but I cant find configscreen.c an eeprom.h in the directory. Could only find them in the Github color_LCD v1.1.0 repository, but I'm not sure whether this one is the same as your 20.1C.2 ?

The idea of setting the config values in the sources is good for the SW102 if the display issues can not be fixed. But at the end of the day, if sw102 freezing issues can not be fixed, why not consider sw102 same as stock screens ? Parameters to be set with Java configurator and flashed directly to the motor ?

Anyway won't have time in the next 4 weeks to dig into this, so I'm back to XH18 + last saved settings. And will enjoy mountain biking during my holidays, thanks to your terrific work !!! :bigthumb:

PS : So far I did try XH18, 860C and SW102. The reason why I did not like XH18 is that the turning grip is much too big. In Mtb riding, it often happened that I turned the grip accidently. So I switched to 860C. Everything was fine, except that it is too fragile for mtb. The screen was cracked afeter my 2nd ride, I even don't know how (tree branch, vibrations ?). So I tried SW102, but problems also. So what I did today was to pick my XH18 back, and saw cutting the turning grip, so that only a thin crown remains, which I can manipulate easily with one or 2 fingers :D
The source code are here:
https://github.com/emmebrusa/Color_LCD_860C/archive/refs/heads/master.zip
The files are located in:
Color_LCD_860C-master \ firmware \ common \ src \ configscreen.c
Color_LCD_860C-master \ firmware \ common \ include \ eeprom.h

With SW102 (860C-850C) the parameters are stored in the display, not in the motor controller.
If you want to change the configuration values in the eeprom.h file, consider that for the same version, the parameters are the same for both XH18 and SW102.
The only difference is that with XH18 the assistance parameters in Power mode are in% and as a value they are double of SW102, so if with XH18 you set 100, with SW102 (860C-850C) you have to set 50.
Happy holiday.

:thumb: Really appreciate the time you spen on this :thumb:
 
I have a friend that does all his riding on dirt trails on his handcycle. He is using an 860C 20.1c3 and says when his wheel spins or slips it stops giving power for a short period then if he can keep going. the power comes back on. What settings could help keep the power on even if the wheel slips?
 
Hi Jeff,
"when his wheel spins or slips it stops giving power for a short period" is not very clear.
Maybe spins and slips?
One possibility is to delay the motor stopping when it stops giving power, try:
Motor fast stop = disabled
Motor deceleration = 0
To obtain the power even with a minimum push on the pedals, it is necessary to calibrate the torque sensor and the "Pedal torque offset" value obtained must be decreased by 10/15.
 
mbrusa said:
Hi Jeff,
"when his wheel spins or slips it stops giving power for a short period" is not very clear.
Maybe spins and slips?
One possibility is to delay the motor stopping when it stops giving power, try:
Motor fast stop = disabled
Motor deceleration = 0
To obtain the power even with a minimum push on the pedals, it is necessary to calibrate the torque sensor and the "Pedal torque offset" value obtained must be decreased by 10/15.

Thanks, I will check but I think it is already set up this way. He said it sometimes works, keeps going as the tire spins in the dirt, and sometimes when the tire losses traction and slips, the power stops and then comes back if he can keep moving. I hope this is more clear?
 
Hey mbrusa is there any chance you can compile an swd version of the 2021 850c display code
I stupidly flashed the non-2021 swd firmware before I realised the 2021 version even existed :(
 
chilltrout said:
... an swd version of the 2021 850c display code...
Have you read this ?

Edit:
After re-reading your question and the answer of mbrusa, I see I had overlooked "swd" and misinterpreted the question.
Sorry for that
:oops:
 
chilltrout said:
Hey mbrusa is there any chance you can compile an swd version of the 2021 850c display code
I stupidly flashed the non-2021 swd firmware before I realised the 2021 version even existed :(
This is not good news.
Compiling is not a problem, I send you the swd version in PM.
Try, but I doubt it will work.
 
mbrusa said:
chilltrout said:
Hey mbrusa is there any chance you can compile an swd version of the 2021 850c display code
I stupidly flashed the non-2021 swd firmware before I realised the 2021 version even existed :(
This is not good news.
Compiling is not a problem, I send you the swd version in PM.
Try, but I doubt it will work.

worked perfectly thanks mate!!!
 
I know I'm dumb, but what is swd? Glad it worked though; that heart sinking feeling is pretty horrible isn't it. :wink:
 
gfmoore said:
I know I'm dumb, but what is swd? Glad it worked though; that heart sinking feeling is pretty horrible isn't it. :wink:
There are two .bin files for 850C displays.

850C_v20.1C.2-bootloader.bin
It is programmed on the display's serial port as 860C, using Apt software and a USB-UART converter.

850C_v20.1C.2.bin
It is programmed on the internal JTAG-SWD port using ST-LINK.
It is necessary to disassemble the display, recommended only for developers.
 
Back
Top