Page 1 of 1
PMU to Motec M1 CAN stream
Posted: Mon Jan 28, 2019 7:11 pm
by FIS
Hello,
I am doing PMU CAN communication setting with M1 Motec. I found information on M1 CAN stream to PDM from its help file. Is this can be used or should use ADU to Motec M1 CAN stream.
I also want to transmit PMU's I/O status
Appreciate your help
Re: PMU to Motec M1 CAN stream
Posted: Mon Jan 28, 2019 7:53 pm
by jgm
Hi,
What kind of information do you want to send from PMU to M1 exactly?
Analog state or analog voltage?
Output state or output current/voltage?
Re: PMU to Motec M1 CAN stream
Posted: Mon Jan 28, 2019 8:01 pm
by jgm
The Motec PDM CAN stream is available in the document called "Motec PDM User Manual.pdf".
The stream needs to be emulated.
http://www.precisionautoresearch.com/ec ... l%20A5.pdf
Re: PMU to Motec M1 CAN stream
Posted: Tue Jan 29, 2019 7:21 am
by FIS
jgm wrote: ↑Mon Jan 28, 2019 7:53 pm
Hi,
What kind of information do you want to send from PMU to M1 exactly?
Analog state or analog voltage?
Output state or output current/voltage?
I want to send the followings
to AIM MXG
- Analog voltage and state
- Keyboard state
- Output voltage
to M1
fuel pump fault
radiator fan output
Attached is setting for receive from M1 please correct me if wrong
Thank you
Re: PMU to Motec M1 CAN stream
Posted: Tue Jan 29, 2019 1:51 pm
by jgm
Hi,
I've added export of these fuelPump and radiatorFan outputs status to M1.
The meaning of the status in Ecumaster PMU is as follows:
0 - off
1 - on
2 - undercurrent
3 - overcurrent
7 - thermalShutdown
In the Motec PDM the meaning of the status is as follows:
0 - off
1 - on
2 - overcurrent
4 - fault (similar to PMU's thermalShutdown)
I'm using for each output the following formula:
errorCode=lookup3(pmu_o_status-2, [0,2,4])
pdm_status = choose(pmu_o_active, 1, errorCode)
Exporting is done to BaseID+4 (0x504)
Re: PMU to Motec M1 CAN stream
Posted: Tue Jan 29, 2019 1:55 pm
by jgm
(continued)
Two frames need to be sent with different CompoundIndex (bit shift is 6)
- CompoundIndex=0: value 0 at byte0 (it's 0<<6 in C notation)
- CompoundIndex=1: value 64 (0x40) at byte0 (it's 1<<6 in C notation)
Re: PMU to Motec M1 CAN stream
Posted: Tue Jan 29, 2019 1:57 pm
by jgm
For AIM MXG I recommend to enable PMU Standard Stream at 0x668 and read it directly in the AIM MXG.
Re: PMU to Motec M1 CAN stream
Posted: Tue Jan 29, 2019 4:20 pm
by FIS
Thank you very much. I will test and learn it
Re: PMU to Motec M1 CAN stream
Posted: Sun Feb 03, 2019 3:51 pm
by FIS
Hello,
I test the setting you gave on bench it was so fun

. Emulate the PMU's output and M1 will detect when fuel pump or fan fault.
Also to receive message from M1 (to 'PDM') I set the ID 0x118 on PMU, it was quite straight forward
question
1. in CANBus export "x_PDMtoM1_ID+4_CI=1", can you explain meaning of value 64 in channel 0
2. Please check the setting ID 0x119 in PMU CANbus Inputs
Re: PMU to Motec M1 CAN stream
Posted: Sat Feb 09, 2019 6:44 am
by FIS
FIS wrote: ↑Sun Feb 03, 2019 3:51 pm
Hello,
I test the setting you gave on bench it was so fun

. Emulate the PMU's output and M1 will detect when fuel pump or fan fault.
Also to receive message from M1 (to 'PDM') I set the ID 0x118 on PMU, it was quite straight forward
question
1. in CANBus export "x_PDMtoM1_ID+4_CI=1", can you explain meaning of value 64 in channel 0
2. Please check the setting ID 0x119 in PMU CANbus Inputs
Done by importing the Motec CANX file

Re: PMU to Motec M1 CAN stream
Posted: Thu Feb 21, 2019 9:54 pm
by jgm
FIS wrote: ↑Sun Feb 03, 2019 3:51 pm
question
1. in CANBus export "x_PDMtoM1_ID+4_CI=1", can you explain meaning of value 64 in channel 0
This Motec stream is 2bit Compound CAN stream. It means that 2 most significant bits (0x80 and 0x40) of the Byte0 are used to identify what the sub-frame index is. 64 means the CompundID=1, like on the screenshot from the Motec documentation I've posted. It's 1 << 6 in C notation (<< denote ShiftLeft operator).