Jump to content

CANBUS Integration Between Flagtronics, Dataloggers and ECU's


WastedAccounts
 Share

Recommended Posts

https://forum.champcar.org/topic/20599-flagtronics-is-full-implementation-still-on-schedule/?do=findComment&comment=472911

 

Anyone want to talk about CANBUS? I do and I wanted to break the conversation out of the thread linked above from General.  I’ve put a bunch of energy into the topic this year while wiring an MS3Pro Evo, AiM MXG1.2 and Flagtronics FT200 into my car and I’ve been nerding out on it. And through shear determination I've even had some success. I’ve had many failures as well and learned a few lessons I thought I could share. I’m not an expert, I expect and hope to be corrected by my fellow racers wherever I am wrong.  

 

I’ve been setting up flag integrations from the FT200 to my AiM dash and I've built a few alarms for different flags but still need to test them. Currently I’m working to see if I can get the MS3 Pit Lane Limiter working off the Pit Lane signal from Flagtronics so I'll have an automatic pit speed limiter with no need for a physical button! 

 

A big pitfall I might be able to help others avoid with the AiM device is how to avoid buying or building an unnecessary 22pin connector to connect extra CAN devices like I did. A lot of energy was spent getting an understanding of how to wire CAN devices into a network and devices communicate.

 

Device Setup:

A very very simple CANBUS network description: A Canbus network is multiple devices on a single, two wire, network. Physical wiring is spoke-hub style but logical processing is a bus and two devices must have terminating resistors indicating the ends of the bus line.

 

Specifically for the AiM MXG1.2, MegaSquirt MS3Pro Evo, Flagtronics FT200 combination:

The AiM MXG1.2 has a terminating resistor you can enable or disable in RaceStudio

Flagtronics does not have a terminating resistor

The MS3Pro Evo has a terminating resistor that cannot be disabled

For these three devices you have to use the Enable flag on the AiM software

220241615_Screenshot2022-11-09134939.png.a136e1fc895993d0d1122eb1c57b89e7.png

 

Using the info above with the AiM MXG1.2 you don’t need the 22pin harness to connect another CAN device. However, you will need to build a custom can protocol in RaceStudio to read from your ECU and FT200 and other devices if you have them. This actually isn’t that difficult once you understand how CAN communicates. That part is a little tricky up front. This also requires some configuration in MS3 to make sure you're broadcasting. Master Enable: On and enable the data you want broadcast.Screenshot_20221109_011648.png.8b45b6523d61cfa733a9ae146dfd3567.pngScreenshot_20221109_010019.png.7f01ef008f566222519742197796991d.png

 

 

AiM and MS3 have some default CAN configurations to simplify the setup but you can’t customize the CAN protocol map to read from other devices. This will require you to use the 22pin connector to integrate the FT200 for flag data on the CAN2 stream. If you're going to use the 22 pin connector and don’t want to buy the expensive harness from AiM to use only 2 wires you can build your own. 

https://www.milspecwiring.com/AS612-35SN_p_296.html

I did this before I realized I didn’t need it to connect the FT200 with a custom CAN Protocol. They’re not exactly simple to build and I managed to “lose” a pin in mine due to a bad crimp. So be warned. 

 

Reading Flags from Flagtronics on my AiM datalogger:

I believe I have the correct CAN Protocol configured for reading flags from the FT200. Setup was fairly simple and when I turn on the system I'm getting the SIG value as expected but this is where simulation mode will really help me. Also with things like multiple flag values, like the Pit or Black flags. The latest version of this broadcasts flags twice and I believe is for limitations in other devices. My MXG1.2 for example can only read up to 14 values per measure. 

Screenshot_20221109_105543.png.2feece22d08a1e7b25cb2e9f758ddbe3.pngScreenshot_20221109_113650.png.c3f07f583cbbe6ae9cf1f7ca23418a17.pngScreenshot_20221109_125913.png.bda82fff873e3c70571ac0d7203d5e60.png

Screenshot_20221109_125951.png

 

MS3 CAN Receiving:

The MS3 can receive CAN messages but I'm really just getting started with this. The Pit Lane Limiter can use a CANIN1-8 value though and that's what I'm looking at to try and read the Pit flag from the FT200. 

If anyone else is working on any of this I'd be happy to collab with you. Feel free to ask questions or point out my mistakes.  

Edited by WastedAccounts
Formatting
  • Like 5
  • Thanks 2
Link to comment
Share on other sites

I am dealing with a issue trying to change my TX and RX values on FT200. They keep reverting to the old default of 0x601 and 0x600. No matter what I try from manually changing them to using the Restore Defaults button they are always set to the old values. The MS3 broadcasts boost values on this group and while it's not an issue for my config someone else may be troubled with it. Below is my current config after a factory reset. On a positive note, trying to change these values in the latest version no longer crashes the Flagtronics management software.  @vtjballeng Any thoughts?
 

This FT200 Firmware version: 0.5.1.1 [OK]
This FT200 Bootloader Version: 0.4.6.5 [OK]
This FT200 Bootrom Version: 0.3.2.1
This FT200 Hardware Version: 0.3.8.0
This FT200 Serial Number: 60000001 <-- this is the serial after a Factory Reset. It updates to mine after a reboot of the FT200

---------------------------------------------
Cloud FT200 Firmware Version: 0.5.1.1
Cloud Bootloader Firmware Version: 0.4.6.5
Cloud User Manual Version: 0.4
Cloud Device Manager Version: 0.44
---------------------------------------------

Local Device Manager Version: 0.44 [OK]
Local User Manual Version: 0.4 [OK]

Screenshot_20221109_041125.png.c1cbd3815321767950412f88f30437d1.png

  • Like 3
Link to comment
Share on other sites

 A little lesson on CAN messages

 

CAN messages are a protocol, think of a phone number 11-111-111-1111. We all know the format: CountryCode-AreaCode-Phone#part1-Phone#part2

 

CAN protocol is more complicated than a phone number but the idea is that format won’t change. Knowing that, you just need to understand where to look to get what you want. For our purposes here we’ll define the CAN message format as msgID-bit0-bit1-bit2-bit3-bit4-bit5-bit6-bit7

 

Now in RaceStudio I can define a message to listen for and what to expect in that message. Here I set it to listen for the hexadecimal CAN ID 0x5F0 and an 8-bit message. This is the MS3 base ID (1520 in decimal) message and we’re picking out bits 6 and 7 which carry the RPM signal

tHBVTUCITx1pKF2K90XjJt_B6IXB_XkALkFipcGCP13VKX3KniI6KUgKyap6UrYlbiuCTXPj_NlHHPh-LZxi23YTOMjZMb5IfHh3gsTYi4FyAGk0shUlEWf1Yp5XGRBW3WniyKVJO9alsXZtNEYR_FRY7KRbBbWpv32K29JNAc5eQuPT6OdeTEu-6gpr1g

 

From the documentation: Group 0, Offset in group 6, Size 2, function Engine RPM

http://www.msextra.com/doc/pdf/Megasquirt_CAN_Broadcast.pdf

uE3gKVrmGeBqVy-_eqAxMjSzCVhxNiA5XLlgY-62wYYrL35Oi5lKW1BM-i9ebQa-tN0dKBVOhseg6cmHy95Zqg6-G_KsidzIlPFEGHzCpYlz1pUVsIxQjTBEnb2GCAjNCSeSiJY6y0ZnDdhLaTyjkXHRF_mzpojMnuSVthPpR6khjEnFrRZ9KHK2e0ob9Q

 

In TunerStudio:

Group is: Base Message Identifier (decimal) 1520,

Offset is the next line: 00: Second,pPW1,PW2,RPM

The dropdown enables it to be broadcast and at what frequency. (smarter people then myself can explain why you would choose one rate over another here)

NS3VeqJlWXGzkhPbqsd1xj17HIXf126_i8HzAgdLP5miMFKOz72IQrzrYWo871XbIFRwrpiiN2Qdt8YSBClS-vJl-njb5xM4Mx1k1bqlMQaoD_N4adUkcTAMcPqKiLaPJ3b-cAm-HsrwXPJTdGWQ5tR1VRfHYcams43JkW-WOAmq1Uxm3DubaPJ31wlSog

 

MS3 uses the decimal value in TunerStudio while RaceStudio uses the hex value. MS3 base value is 1520 which converts to 0x5F0. If we wanted to know the Advance value from the next line we’d look at HexID 0x5F1 or decimalID 1521 and read bits 0 and 1. 

 

You can use a online converter to get hex or decimal values:   

https://www.binaryhexconverter.com/decimal-to-hex-converter

 

3sXIuZD8vJ6xCKnu9rvFaoYCfu5s1U4WQOTtF0QU3NOG3255SeHETJHmhv3tECFfgtVziFphdxvU4QVmpssMdlTnFg_mxYWemU3AAC1nHYjvybKEksEdOXuMLU6HUd_2pSp3Z7V_4-VAdrm8wVw265VGWAyBoiKs9Vr2pzRG7Bi2EOJmyLMxpbOxtXXCpg

 

This all applies to Flagtronics as well. We listen for TX ID 0x4DC and pick out the flag ID from bits 0 and 1.

On 9/28/2022 at 12:51 PM, vtjballeng said:

These are the CAN Bus default settings from our software (where you can manage and change these values):
image.png.815fd204242a1114fd994ad8db6b8102.png

 

The FT200 will respond on 0x4DC when you send anything in byte 0 on 0x4DB. If you don't want a request response model, you can force the FT200 to send on an interval. We don't do this by default because it can cause issues on some networks.

image.png.ab398b68b8f77127cddc6b4eaa6d6af7.png

As for interpreting the data itself, here is the basic information:
image.png.ba8fd5851fed0f23d9a1c3fb3e440abc.png

 

To interpret these as flag states, you also need this:
image.png.aeb193c121402faea0b9764fda866336.png

 

We'll be getting back to templates for common logger and display packages very soon to make this easier for those who understand little to none of this (we don't expect the average user to). For savvy users, if you get settings that are working for you on your logging / display / telemetry package feel free to send them back our way and or provide them to other teams. 

 

Flagtronics recommends a response model and you will need to "ping" the FT200 to get it to respond with a message. This is done with CAN output in RaceStudio
image.png.4bc9c9774e7d2b73d33ea709e2bf36c9.png

 

Obviously this is way simplified and requires a bit more configuration within RaceStudio to display the information properly but this hopefully will help someone get off the ground. 

Edited by WastedAccounts
Formatting
  • Like 4
  • Thanks 1
Link to comment
Share on other sites

Nice discussion here, a bit complicated for the novice, but you did a nice job trying to explain it in layman's terms. 

 

On my car I have an Aim Smartycam and Solo2DL, an AEM Infinity ECU, VW ABS module and steering rack, and a custom dash that I built.  I have all of the modules sharing info so I can get gear from the ECU, brake pressure, vehicle speed, and wheel speeds from the ABS, and steering wheel angle from the rack. 

 

Now I want to add the Flagtronics module, so it was nice the see the information here.  I'll let you know how it goes.

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

Thanks and yeah, there is no ELi5 version of this info. You really do need to know how to use the tools and be able to read and understand the docs. Since I had so recently gone through all this I thought I'd share some of the things that helped me understand it better. I still haven't touched on things like big or little endian and most of what I have written about is just primers to start digging into the data and tech sheets.

That's awesome you're getting wheel speed and steering angle from the the VW stuff. I've got a manual rack and no ABS in my miata. Steering angle would be very cool to have though. The AiM data logger has a brake pressure sensor add on I'll be using in the future. Which Smartycam are you running? The SC3 Sport has come out since I last looked and was looking for a good comparison between that and the 2.1/2.

 

Definitely let me know how you get along with the Flagtronics module. 

  • Like 2
Link to comment
Share on other sites

On 11/9/2022 at 5:22 PM, WastedAccounts said:

I am dealing with a issue trying to change my TX and RX values on FT200. They keep reverting to the old default of 0x601 and 0x600. No matter what I try from manually changing them to using the Restore Defaults button they are always set to the old values. The MS3 broadcasts boost values on this group and while it's not an issue for my config someone else may be troubled with it. Below is my current config after a factory reset. On a positive note, trying to change these values in the latest version no longer crashes the Flagtronics management software.  @vtjballeng Any thoughts?
 

This FT200 Firmware version: 0.5.1.1 [OK]
This FT200 Bootloader Version: 0.4.6.5 [OK]
This FT200 Bootrom Version: 0.3.2.1
This FT200 Hardware Version: 0.3.8.0
This FT200 Serial Number: 60000001 <-- this is the serial after a Factory Reset. It updates to mine after a reboot of the FT200

---------------------------------------------
Cloud FT200 Firmware Version: 0.5.1.1
Cloud Bootloader Firmware Version: 0.4.6.5
Cloud User Manual Version: 0.4
Cloud Device Manager Version: 0.44
---------------------------------------------

Local Device Manager Version: 0.44 [OK]
Local User Manual Version: 0.4 [OK]

 

 

Thanks for taking the effort on the integration side of the FT200 @WastedAccounts

When you see the serial # as 60000001, that means it's in a special mode to control a signboard / LED panel at a corner station. In this mode, you can't change the CAN settings. If you disconnect your 0x600 message source you can program the FT200 to another address. It might be simplest to format your drive at this point and it will regenerate the current defaults which are 0x4DB & 0x4DC. 

We'll make the 0x600 message to enter signboard mode filtered to avoid the loop you're in. We will also make the mode more explicit in the software and readme to denote what's going on. 

 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

Happy to help @vtjballeng. This stuff is really interesting me. I can see where it can go within the sport and want to promote it . 

Alright, so my 0x600 broadcast was causing my FT200 to hold on to those values. Thanks, that was driving me a little crazy. I killed that and did a factory reset and it's now broadcasting on 0x4DC. I also, finally i guess, read the Pit Flag description in the manual. I had been operating on the assumption the pit flag meant it was aware that you were in the pits and was trying to use that signal to enable or disable the Pit Lane Limiter in my MS3. I see now it does not and that makes more sense but also crushes my dream of building an automatic pit speed limiter. Considering the FT200 is geo aware is there a place I could submit a feature request for that? For safety, of course. 😃 

 

I did manage to get a true/false signal to my MS3 from my AiM based on the FT200 current flag broadcast though. Maybe I can use that for something in the future. 

  • Thanks 1
Link to comment
Share on other sites

11 minutes ago, WastedAccounts said:

Happy to help @vtjballeng. This stuff is really interesting me. I can see where it can go within the sport and want to promote it . 

Alright, so my 0x600 broadcast was causing my FT200 to hold on to those values. Thanks, that was driving me a little crazy. I killed that and did a factory reset and it's now broadcasting on 0x4DC. I also, finally i guess, read the Pit Flag description in the manual. I had been operating on the assumption the pit flag meant it was aware that you were in the pits and was trying to use that signal to enable or disable the Pit Lane Limiter in my MS3. I see now it does not and that makes more sense but also crushes my dream of building an automatic pit speed limiter. Considering the FT200 is geo aware is there a place I could submit a feature request for that? For safety, of course. 😃 

 

I did manage to get a true/false signal to my MS3 from my AiM based on the FT200 current flag broadcast though. Maybe I can use that for something in the future. 


@WastedAccounts, glad to hear you got that sorted!  We do have a pit lane speed limiter in place and it will display SLO now on the FT200 when you exceed that speed. It's not org aware yet (pit lane speed limits vary by org) but that's coming soon. 

Beyond that, we do have Zone in another message, 0x4DE, that is on the way also. Zones 128+ are pit/paddock so you could test for > 127 to enable a pit / paddock limiter mode. Longer term this should get segmented to something like Zones 128-143 as pit and 144+ as paddock. Features like this one are slowly increasing in sophistication over time. 

image.png.a249b7df06747f317726bc35873d0448.png

  • Like 1
Link to comment
Share on other sites

@WastedAccounts I have a Smartycam 2.1.  I'll upgrade to the 3 when they have dual model available.  I hope it's soon!

 

@vtjballengGood news for me!  4DB, 4DC, and 4DE are not in use by the AEM ECU or the VW powertrain bus.  That makes it easy.  Put in a "y" cable, add the messages to the database, and start recording!  Next to figure out how best to display the data in the Smartycam recordings!  I gotta figure out some way to make the colors display in a symbol somewhere on the screen...

 

 

  • Like 2
Link to comment
Share on other sites

  • 3 weeks later...
On 11/16/2022 at 6:01 PM, Robmink said:

@vtjballengGood news for me!  4DB, 4DC, and 4DE are not in use by the AEM ECU or the VW powertrain bus.  That makes it easy.  Put in a "y" cable, add the messages to the database, and start recording!  Next to figure out how best to display the data in the Smartycam recordings!  I gotta figure out some way to make the colors display in a symbol somewhere on the screen...


@Robmink, putting the Y-Cable in will be easy. You don't have to use those addresses, those are defaults. You can program in any base address you want including extended addresses for example. The baud rate and other bus parameters are also programmable too. 

 

@WastedAccounts, some updates here. 
 

 

image.png.a800baa0b25e9479e1a8cc59aaaaeca4.png
image.png.1afd1832b7ac9b6dee779d74132d5ed7.pngimage.png.5a9d589b54c4cfebdc08a415c053e205.png
 
image.png.ede3d35370b323a21deaf38cb0f65e21.png
image.png.d8f489d1fb99ba0443fb1dfcc29719f4.png
image.png.0ce0db32ee9f0c7f6acfddd083b9ec2e.png
 
AiM files here: https://drive.google.com/drive/folders/1QVjW_WsBBkeiM0mouz0d1_BR3FpZG37V?usp=sharing if you want to take a look at them and implement. 
 
 
 

 

 

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

@vtjballeng  Thanks for the information, but I don't use the AIM dash, I have one that I designed and programmed so I can add the flags to my device, it just takes some design and programming time.  I do want to try and add some indication in the smartycam playback though.  I'll look into that before Sebring.

  • Like 1
Link to comment
Share on other sites

@vtjballeng  I am a bit confused here.  I looked through your setup for the MXS and copied those values into my code, but you do not have an alarm for local yellow, passing, or local white.  Also, I am not sure about checking displayed state 2.  Will the highest priority flag always be in displayed state 1, or does it depend on the order that the flags are sent out.  For instance, if a local yellow goes to red, will displayed state 1 switch from local yellow to red, or does it stay local yellow and displayed state 2 becomes red? 

 

Also, the OP has some different values.  He has PIT as 80, white as 94, yellow as 4097 (I assume this is local), and SIG (whatever that is) as 12320.  It seems like course wide flags are indicated by setting bit 6, local flags by setting bit 12, and individual flags by setting bit 13.  Is this generally true?

Link to comment
Share on other sites

@Robmink I think I was using old some older values. I rebuilt my Custom CAN config to use what is shown here. I'm also longer encoding the values but just reading them directly as integers. Encoding them to strings was easier to read in RaceStudio until I started trying to read multiple flag states since you only have 5 characters. I believe flag states 1 and 2 are the same but were needed so you could encode more than once in certain interfaces. 12320 is the no flag signal state and it's the only value my FT200 will output right now so I've been using that to make sure I'm reading the value from the FT200 and not some forced value through RaceStudio. 
 

Here's the original post I got a lot of my info from. including why there are two displayed states.
 

Quote

Here is, tentatively, what we are moving to. Some systems will want Displayed State twice for multiple alarm configurations because they cannot build more than one function per SPN:

 

@vtjballeng That video is cool and what I'm looking to build in my dash. I have the some of the same questions robmink though. What can I use Full, Local and individual states for? Will These override/update/augment the displayed state? Do I need to interpret them separately? How long does each flag state broadcast for so I know how long i have to manage it? For example: I assume green broadcast all the time another flag is not but I don't need my dash flashing green all the time and how does that work when passing through a local yellow. I need to respond to the local yellow but maybe I don't want to reflash  green again when past it. 

And any update on simulation mode? I could answer and test a lot these questions myself if I had control of what's being broadcast from the FT200. 

Link to comment
Share on other sites

Oh, I get it now.  This is a query and response system.  In order to get the flag status I have to send a 1 byte message 0x00 on 0x4DB (in the default config).  I was wondering about why @vtjballeng had setup a CAN output for the MXS.   How often are you planning on sending the request?  10Hz?

Link to comment
Share on other sites

On 12/5/2022 at 12:01 PM, Robmink said:

@vtjballeng  Thanks for the information, but I don't use the AIM dash, I have one that I designed and programmed so I can add the flags to my device, it just takes some design and programming time.  I do want to try and add some indication in the smartycam playback though.  I'll look into that before Sebring.


@Robmink, I presented raw CAN data first for users like yourself. There is no reason for you to consider the many dash integration templates and posts that are a rehash of that CAN message structure unless it helps you visualize and/or answer your other questions.
 

On 12/8/2022 at 12:22 PM, Robmink said:

@vtjballeng  I am a bit confused here.  I looked through your setup for the MXS and copied those values into my code, but you do not have an alarm for local yellow, passing, or local white.  Also, I am not sure about checking displayed state 2.  Will the highest priority flag always be in displayed state 1, or does it depend on the order that the flags are sent out.  For instance, if a local yellow goes to red, will displayed state 1 switch from local yellow to red, or does it stay local yellow and displayed state 2 becomes red? 

 

Also, the OP has some different values.  He has PIT as 80, white as 94, yellow as 4097 (I assume this is local), and SIG (whatever that is) as 12320.  It seems like course wide flags are indicated by setting bit 6, local flags by setting bit 12, and individual flags by setting bit 13.  Is this generally true?


@Robmink, the AiM integration is a WIP and does not have all local states yet. Also, the AiM dashes have limited alarms in many cases so we won't be able to provide all possible combinations for some dashes. displayed_state = displayed_state2 . They are both provided so that enumerations can be made in the logs to translate a numerical value to a text condition. Alarms are based on displayed_state. Seeing GRN instead of a decimal value in the log uses displayed_state2 for the enumerations.

SIG means no signal. The CAN message structure is based on encoded values in bytes. Do not perform bit evaluations for any variable other than the accident trigger bit. Follow the message variables as presented. 
 

On 12/8/2022 at 3:37 PM, WastedAccounts said:

@Robmink I think I was using old some older values. I rebuilt my Custom CAN config to use what is shown here. I'm also longer encoding the values but just reading them directly as integers. Encoding them to strings was easier to read in RaceStudio until I started trying to read multiple flag states since you only have 5 characters. I believe flag states 1 and 2 are the same but were needed so you could encode more than once in certain interfaces. 12320 is the no flag signal state and it's the only value my FT200 will output right now so I've been using that to make sure I'm reading the value from the FT200 and not some forced value through RaceStudio. 
 

Here's the original post I got a lot of my info from. including why there are two displayed states.
 

 

@vtjballeng That video is cool and what I'm looking to build in my dash. I have the some of the same questions robmink though. What can I use Full, Local and individual states for? Will These override/update/augment the displayed state? Do I need to interpret them separately? How long does each flag state broadcast for so I know how long i have to manage it? For example: I assume green broadcast all the time another flag is not but I don't need my dash flashing green all the time and how does that work when passing through a local yellow. I need to respond to the local yellow but maybe I don't want to reflash  green again when past it. 

And any update on simulation mode? I could answer and test a lot these questions myself if I had control of what's being broadcast from the FT200. 


@WastedAccounts, Full, Local and individual states are interpreted separately. They can each be unique. displayed_state = displayed_state2 and will show you what is presented to the driver. The flags are broadcast while they are active. I set the AiM alarms at 10s for the overlay to help guide your GUI choices. 5s proved too short at some tracks for critical alarms like low oil pressure based on my experience. As-is in my AiM alarm programming, the Green will flash again when exiting the local condition.

Working example 1 - Full Track Red Flag, Local Debris, Individual Pit message.
Displayed State - Red Flag
Displayed State 2 - Red Flag
Full Track State - Red Flag
Local State - Debris
Individual State - Pit
Accident Trigger - 0
Accident Gs - 0
 

Working example 2 - Full Track Green Flag, Local Waving Yellow, No individual message.
Displayed State - Local Waving Yellow Flag
Displayed State 2 -  Local Waving Yellow Flag
Full Track State - Green Flag
Local State - Waving Yellow
Individual State - Null
Accident Trigger - 0
Accident Gs - 0

 

On 12/8/2022 at 5:19 PM, Robmink said:

Oh, I get it now.  This is a query and response system.  In order to get the flag status I have to send a 1 byte message 0x00 on 0x4DB (in the default config).  I was wondering about why @vtjballeng had setup a CAN output for the MXS.   How often are you planning on sending the request?  10Hz?


@RobminkIt is normally set to a query & response system, yes. The software allows you to force send and set the broadcast frequency as explained in the post below. If you maintain the default query based system, 2Hz - 5Hz is typical for the request interval. I use 5Hz for most implementations. Take a look at the post here for the software variables and other information.

.  

  • Thanks 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...