#### ## ## ## ## ## ## ## ## ####
#### ### ## # #### ### # ## ### ###
# # # # ## # # # #
### # # ## # ## ### # # ####
___ ( _`\ | ( (_) | | _ | (_( ) (____/'
IMPORTANT: enter the case-INsensitive alphabetic (no numbers) code AND WRITE SOME SHORT summary of changes (below) if you are saving changes. (not required for previewing changes). Wiki-spamming is not tolerated, will be removed, so it does NOT even show up in history. Spammers go away now. Visit Preferences to set your user name Summary of change: '''AIM data via CanBus''' (CAN-bus to dashes, dataloggers) '''Order [https://shop.vems.hu/catalog/stm32f103mcp2515-p-213.html CAN_Dash]''' with '''AIM-AIM option''': 35 bytes (0..34) are sent in 5 CAN-frames, '''CAN-ID 0x6F0..0x6F4''', see [http://www.vems.hu/files/MembersPage/NanassyPeter/AIM_support/AIM-ECU%20protocol.pdf aim protocol data content] Some notable channels (See 1.2.38 on GenBoard/UnderDevelopment/FirmwareChanges ) * channels OILPRESSURE (9), OILTEMP (13), FUELTEMP (109), FUELPRESSURE (21), ERRORS (125) ** predefined calibrations and channel inputs for AIM pressure and temperature channels * '''ERRORS (highbyte)''' has function activation states: ALS, '''Launch''', Shiftcut, n2o, Traction Control, Injector stage 2, Idle, Ego * ERRORS (lowbyte) has error states: o2 not ready, trigger error state, config slot active, baro problem, engine knocking, warning light state It is practical to send data in this format to configurable dataloggers, instruments, dash. * For example '''ERRORS high-byte bit6 is Launch activation''' ---- '''Message format (see AIM pdf for more info)''' (note: units might need review, especially temperature; 16bit = 2 byte values have low byte first = little endian unless otherwise noted) * '''CAN ID''', Byte, (Bits), Gain/unit, Data type * 6F0, 0, (0:16), 1, RPM * 6F0, 2, (0:16), 1, WHEELSPEED * 6F0, 4, (0:16), 1, OILPRESSURE * 6F0, 6, (0:16), 1, OILTEMP * 6F1, 0, (0:16), 1, WATERTEMP * 6F1, 2, (0:16), 1, FUELPRESSURE * 6F1, 4, (0:16), 1, BATTERYVOLTAGE * 6F1, 6, (0:16), 1, THROTTLEANGLE * 6F2, 0, (0:16), 1, MANIFOLDPRESS * 6F2, 2, (0:16), 1, AIRCHARGETEMP * 6F2, 4, (0:16), 1, EXHAUSTTEMP * 6F2, 6, (0:16), 1, LAMBDASENSOR * 6F3, 0, (0:16), 1, FUELTEMP * 6F3, 2, (0:16), 1, GEAR * 6F3, 4, (0:16), 1, ERRORS * 6F3, 6, (0:16), 1, constant 0xFC30 (sent as 30, FC little endian value) ? * 6F4, 0, (0:16), 1, 0xFB, 0xFA * 6F4, 2, (0:8), 1, 1 byte checksum (sum of above bytes) ---- Note : '''VEMS also supports AIM via serial, via 1st or 2nd RS232 port'''; it has '''similar datarate as via CAN''', and practical to broadcast to an arbitrary number of receivers, see: * BroadcastDatastreamAim * BroadcastDatastreamAimSecondSerial * See AimCanBusSniffing especially if sniffing, (or possibly broken receiver that does NOT acknowledge messages) ---- V1.0.0.0 VEMS AIM CAN DBC - Based on above information and PDF scaling , aids users to get AIM2CAN working when loaded with AIM2AIM. For viewing Kvaser Database Editor is free and easy to use http://www.vems.hu/files/AIM2CAN/VEMS%20AIM%20CAN%20v1.0.0.0.zip V1.0.1.0 VEMS AIM CAN DBC - TODO : VEMS can you specify exactly the bit locations for the Errors channel, this can be setup then in the DBC file specifically as bit indications which many platforms support. Optional: Add document to category: Wiki formatting: * is Bullet list ** Bullet list subentry ... '''Bold''', ---- is horizontal ruler, <code> preformatted text... </code> See wiki editing HELP for tables and other formatting tips and tricks.