stprograms / SuperSoco485Monitor

C# Application to monitor the communication on the internal RS485 Bus on Super Soco Motorcycles
MIT License
6 stars 2 forks source link

aboute documentation #2

Open pervolianinen opened 1 year ago

pervolianinen commented 1 year ago

There is error in documentation. This project will be work with all actual supers soco. All super soco have standart protocol, but use 2 transport protocols CAN and RS485. Android app SUSODEV work with all super soco. in app no information about transport protocol CAN or RS485

stprograms commented 1 year ago

Hi pervolianinen!

You are right, the Android app from Susodev works with both types of motorcycles. Those that use RS485 and CAN. BUT: If you dive further into the documentation of SuSoDevs work and the project itself you will see two things:

  1. The motorcycles with RS485 use a RS485 to BT hardware, the ones with CAN use a converter from CAN to BT.
  2. This interface holds an ESP32 loaded with a sketch that translates the CAN messages to the protocol used on RS485 and transmits it over BT, so the application gets data it can handle.

So yes, if you build the CAN adapter and use the BT serial on the PC as the serial interface for the monitor, you should also be able to read the data from newer models using CAN.

CAN and the RS485 interface of SuperSoco are two completely different interfaces and use different protocols. A good comparison would be VOIP and morse code.

If you like to fetch more information on the Super Soco CAN interface, you can check out Volt Garaz Wiki where the messages are already documented.

Of course you are welcome to document the CAN protocol in the same way as I did and add it to the README.md file, so we have one place where all the information is stored :) The monitor can in theory be extended to support CAN interfaces too.

pervolianinen commented 1 year ago

Hi pervolianinen!

You are right, the Android app from Susodev works with both types of motorcycles. Those that use RS485 and CAN. BUT: If you dive further into the documentation of SuSoDevs work and the project itself you will see two things:

  1. The motorcycles with RS485 use a RS485 to BT hardware, the ones with CAN use a converter from CAN to BT.
  2. This interface holds an ESP32 loaded with a sketch that translates the CAN messages to the protocol used on RS485 and transmits it over BT, so the application gets data it can handle.

So yes, if you build the CAN adapter and use the BT serial on the PC as the serial interface for the monitor, you should also be able to read the data from newer models using CAN.

CAN and the RS485 interface of SuperSoco are two completely different interfaces and use different protocols. A good comparison would be VOIP and morse code.

If you like to fetch more information on the Super Soco CAN interface, you can check out Volt Garaz Wiki where the messages are already documented.

Of course you are welcome to document the CAN protocol in the same way as I did and add it to the README.md file, so we have one place where all the information is stored :) The monitor can in theory be extended to support CAN interfaces too.

You are not right. The protocol for Lingbo controllers is the same for all mopeds Super Soco. Transport protocol may be CAN, RS485, UART. For CAN, due to the specifics of the protocol, there are no ready-made converters to UART. But Supers Soco protocol same in all.

stprograms commented 1 year ago

You are definitely deeper into the details of the Super Soco vehicles than I am :)

So, what you are saying is that the communication between the components is always the same protocol I have documented here and the monitor can be used for the RS485 interface and the eg. USB UART of the controller directly, correct?

CAN of course uses a different communication protocol and is not compatible here, but according to the code of SuSoDevs CANInterface, the data is just packed into the payload of the can message.

So you're suggestion is to update the documentation to hold the hint, that it may be also used for newer bikes using CAN, correct, even if there needs to be a special interface that converts it?