DerekAE86 Posted September 11, 2023 Report Share Posted September 11, 2023 I've been looking at different GPS sources for lat/long/speed/acceleration/etc and reading the manual for this module. https://www.ecumaster.com/files/devices/gps/gpsV2Manual.pdf Just curious if its compatible with the Link? Or if there is any .lcs streams already made? I was trying to construct one myself but couldn't see how to a create a 32bit channel with a 10^7 divider since I can only select up to a 16bit width and 10000 divider? Also would it be possible to utilize 1 stream to put all the different IDs in as multiple frames? So if the main CAN ID is 400 for example; make the first frame's ID Position 0 with ID (decimal) 0 Then create the second frame with ID Position 0 and ID (decimal) 1... would that mean it would effectively be ID 401? Quote Link to comment Share on other sites More sharing options...
k fuku Posted September 11, 2023 Report Share Posted September 11, 2023 M5 ATOM GPS is used to stream GPS signals to CAN. https://shop.m5stack.com/products/atom-gps-kit-m8030-kt The GPS is running on an original program created in blockly format. I can't seem to handle 32bit with LINK, so I use ECU MASTER's meter to receive the GPS signal. One idea I came up with is to make the program learn to separate data every 2beyt (16bit). (GPS to CAN in ECU master can only send 32bit) For example, 0 and 1 byte for ID 401 For example, 0 and 1 byte for ID 401, 2 and 3 bytes for ID 402, etc. I haven't come up with a way to combine the data after receiving it. (program) https://github.com/gok555/M5stack-OBD-CANgauge/blob/main/GPStoCANspeed2HzEspNow.m5f Quote Link to comment Share on other sites More sharing options...
tineira Posted December 5, 2023 Report Share Posted December 5, 2023 hey @k fuku I managed to pass data splitting the signed 32 bit value. The problem is if the value is negative, strange things might happen. so I ended up sending the absolute value of the latitude and longitude and splitting each value in three parts a 15 bit number, a 16 bit number and the missing bit I use to send a DI for negative values. Then I created a math channel that reconstructs the value. I'm sending the can messages from an arduino, so this is how I build the message. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.