Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FEATURE - MAXX / Other custom ECU byte aligned CAN layer #74

Open
rnd-ash opened this issue Jan 3, 2024 · 3 comments · Fixed by #76
Open

FEATURE - MAXX / Other custom ECU byte aligned CAN layer #74

rnd-ash opened this issue Jan 3, 2024 · 3 comments · Fixed by #76
Assignees
Labels
enhancement New feature or request

Comments

@rnd-ash
Copy link
Owner

rnd-ash commented Jan 3, 2024

The issue? EGS CAN Layers use bit stuffing, and thus, certain values are not byte aligned.

Certain custom ECUs do not support bit stuffing on CAN, thus, it is not feasible to port any of the EGS CAN layers to custom ECUs.

This issue will be used to discuss requires Tx/Rx communication and build up a CAN spec file for custom ECUs.

@rnd-ash rnd-ash pinned this issue Jan 3, 2024
@rnd-ash rnd-ash added the enhancement New feature or request label Jan 3, 2024
@rnd-ash rnd-ash self-assigned this Jan 3, 2024
@rnd-ash
Copy link
Owner Author

rnd-ash commented Jan 3, 2024

To work on this issue, I'll need to know what CAN IDs do these ECUs transmit data on, and what kind of data can they receive.

Also, in such a configuration, what shifter is used, and how is rear wheel speed obtained? (Physical sensor or by the engine ECU)

@Magnup
Copy link

Magnup commented Jan 3, 2024

I'll answer the best I CAN;)

Maxxecu have a default CAN protocol found here: https://www.maxxecu.com/webhelp/can-default_maxxecu_protocol.html

But it also supports 36 custom CAN "input values" and 10 custom outgoing messages.

Outgoing messages can be up to 8 bytes, big or small endian, signed or unsigned, 8, 16 or 32 bit. These can send basically any
value within the ECU with an offset, multiplier and divider value.
There is also a possibility to create 3 custom bytes where the bits are set to 1 or 0 always, or by any live data within the ECU. These bytes can be sent as part of any of the custom outgoing messages.

"Input values" means, as far as I can understand, Maxxecu can extract 36 values from 36 or less messages. values can be signed or unsigned, 8, 16 or 32 bit, big or small endian,. It is possible to use a mask for example to use only 14 bit of a 16 bit message. Data recieved can also be given an offset, multiplier and divider value.

Maxxecu can receive wheel speed either by some OEM CAN protocols (not mercedes) or by physical sensors at the wheels or driveshaft (as I have).

I have the old PRND4321 (TRRS?) shifter but will probably change to the PRND +/- shifter and I am guessing that would be the one most would use.

@rnd-ash rnd-ash linked a pull request Mar 30, 2024 that will close this issue
@rnd-ash rnd-ash closed this as completed Apr 9, 2024
@rnd-ash rnd-ash reopened this Apr 9, 2024
@rnd-ash
Copy link
Owner Author

rnd-ash commented Apr 9, 2024

Initial draft of this is merged into dev firmware.

The protocol is documented here. We can add data as we see fit at later dates

https://docs.ultimate-nag52.net/en/advanced/custom-can

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants