Please enable JavaScript to view this site.

MaxxECU Documentation

CAN Protocol

Default base ID: 0x2010

 

ALL VALUES ARE LITTLE ENDIAN.

 

BASE+0:

Module status:

Byte 0-1: H-bridge 1 Current

Byte 2-3: H-bridge 2 Current

Byte 4-5:

Byte 6-7: Input digital states, bit 0-11, AIN 1-12, bit 12-15, pulse 1-4

 

BASE+1: Reserved

BASE+2: Reserved

 

 

MEASUREMENTS (Module->ECU)

BASEADDR+3: Input 1-4 Voltages

Byte 0-1: Input 1 Voltage (mV)

Byte 2-3: Input 2 Voltage (mV)

Byte 4-5: Input 3 Voltage (mV)

Byte 6-7: Input 4 Voltage (mV)

 

BASEADDR+4: Input 5-8 Voltages

Byte 0-1: Input 5 Voltage (mV)

Byte 2-3: Input 6 Voltage (mV)

Byte 4-5: Input 7 Voltage (mV)

Byte 6-7: Input 8 Voltage (mV)

 

BASEADDR+5: Input 9-12 Voltages

Byte 0-1: Input 9 Voltage (mV)

Byte 2-3: Input 10 Voltage (mV)

Byte 4-5: Input 11 Voltage (mV)

Byte 6-7: Input 12 Voltage (mV)

 

BASEADDR+6: Pulse 1 Input (frequency)

Byte 0-4: Frequency (Hz*0.1)

Byte 5-6: Duty (%*0.1)

Byte 7: valid

Byte 8: not used

 

 

SET OUTPUTS (ECU->Module)

 

BASEADDR+10: Set PWM 1-2

Byte 0-1: Freq 1 (0= ignore channel, does not change the output)

Byte 2-3: Duty 1 (0-1000 = 0-100%)

Byte 4-5: Freq 2 (0= ignore channel, does not change the output)

Byte 6-7: Duty 2 (0-1000 = 0-100%)

 

BASEADDR+11: Set PWM 3-4

Byte 0-1: Freq 3 (0= ignore channel, does not change the output)

Byte 2-3: Duty 3 (0-1000 = 0-100%)

Byte 4-5: Freq 4 (0= ignore channel, does not change the output)

Byte 6-7: Duty 4 (0-1000 = 0-100%)

 

BASEADDR+12: Set PWM 5-6

Byte 0-1: Freq 5 (0= ignore channel, does not change the output)

Byte 2-3: Duty 5 (0-1000 = 0-100%)

Byte 4-5: Freq 6 (0= ignore channel, does not change the output)

Byte 6-7: Duty 6 (0-1000 = 0-100%)

 

BASEADDR+13: Set PWM 7-8

Byte 0-1: Freq 7 (0= ignore channel, does not change the output)

Byte 2-3: Duty 7 (0-1000 = 0-100%)

Byte 4-5: Freq 8 (0= ignore channel, does not change the output)

Byte 6-7: Duty 8 (0-1000 = 0-100%)

 

BASEADDR+14: Set outputs on/off

Byte 0: Mask (bits, set bit to 1 to update output)

Byte 1: Data (bits, output on/off

 

 

CONFIGURATION (ECU->Module)

Automatically saved

 

BASEADDR+0x10: AIN Config

Byte 0: Pullupcfg 1-8 (bits)

Byte 1: Pullupcfg 9-12 (bits)

Byte 2-3: Rate AIN1-4 (hz 1-2000)

Byte 4-5: Rate AIN5-8 (hz 1-2000)

Byte 6-8: Rate AIN9-12 (hz 1-2000)

 

BASEADDR+0x11: Trig1 CFG

Byte 0:

- Bit 0: Pullup en

- Bit 1: Polarty, 0 = falling, 1 = rising

- Bit 2: Auto voltage, VR mod

- Bit 3: Auto voltage, digltal mode

Byte 2-3: Falling voltage (signed, -1000 - 1000 = -10V - 10V)

Byte 4-5: Rising voltage (signed, -1000 - 1000 = -10V - 10V)

Byte 6-7: Update rate (1-1000Hz)

 

BASEADDR+0x12: Trig2 CFG (same as Trig1)

BASEADDR+0x13: Trig3 CFG (same as Trig1)

BASEADDR+0x14: Trig4 CFG (same as Trig1)

 

BASEADDR+0x15: Output configuration

Byte 0: Output timeout *0.1 sec (0xFF = no timeout)

Byte 1: H-bridge out 1-2 PWM Current limit (1=7.5A, 2=9A, 3=10.5A, 4=12.5A, 5=15A)

Byte 2: H-bridge out 3-4 PWM Current limit (1=7.5A, 2=9A, 3=10.5A, 4=12.5A, 5=15A)

 

BASEADDR+0x16: CAN configuration

Byte 0: Must be 0xCC to update bitrate

Byte 1: Must be 0xAA to update bitrate

Byte 2: New bitrate, 0 = 500kbit, 0x10 = 1mbit, 0x20 = 250kbit, any other value = 500kbit

Byte 3: Must be 0xCA to update address

Byte 4: Must be 0xAC to update address

Byte 5-7: Base CAN address