For any add-on boards such as VR conditioners, optos and OEM interface boards
By punisher454
#57135
I have some questions about the dx controls GPIO STD.
To start, the wiki seems to be missing a lot of the referenced example pictures, and it's somewhat...incomplete.
Question 1. When connected via serial3 is speeduino limited to just receiving 16 channels, at 2bytes each?
If so then that means the massive amount of data I can collect on the gpio-std cannot passthrough the speeduino to be viewed in tuner studio.?

Q2. When using only a serial connection (no can,) are all the can address unused and irrelevant?

Q3. I'm setting up a ts dash using a Rpi and a large lcd. As far as I know I can only connect ts to one device (speeduino or the GPIO) to display on a single monitor. If I connect the GPIO to ts, then I cannot pass all the speeduino data through the gpio to ts. Correct? If no, can I pass any data from speeduino through the gpio to ts?

I have more, but that's enough to help me plan what to do.
Thanks
By dazq
#57137
A lot of the images and links to images in the wiki were lost or broken when the wiki changed to the new style/version.
Speeduino doesn't support passthrough of additional devices in the way that MS does . Equally gpio doesn't support passthrough in that way too.
You can run multiple instances of TS concurrently, so you could have one for speedy the other for gpio.
Q1 , not sure I understand the issue?
Q2 , only the device Ids must align IE the speedy and gpio address IDs.

Hope that helps
By punisher454
#57141
For question 1, I simply wanted to confirm if that is accurate, that although the gpio module can read potentially over fifty channels of data, only sixteen of those can go to speedy via serial3.

Thanks

And I'll probably have a few more questions as I progress through this.
By dazq
#57142
Ah yes that is the limit of the aux in on speedy, gpio can do logging too if that helps.
By punisher454
#57161
Ok I've made some progress.
Now I can have the gpio board read parameters from speedy through the serial connection.
Next I want to have speedy read from the gpio, which was my initial goal, but I do like this capability.
Before I go any further, here is my setup.
STM PRO ECU from everything efi (thanks Nick) using the serial port(not can, yet).
Arduino mega256 running GPIO-STD (thanks Dazq) through the serial3(also NOT CAN, yet).
Both sitting on my desk with a USB cable on each, going to my desktop PC, running a separate copy of tunerstuio for each.
I set my base speeduino can address at 0x200 and the gpio is set at 0x300. On both devices I have the project setup with "CAN commands activated". Which seems to give more options for setting up the external inputs, although it causes havoc if you toggle this setting.
In TS on the gpio side when I setup the external channels I can choose the base address of the target device, and then select the source data byte, with hundreds of choices. But when I try to do the same thing on the spendy side, for each of the sixteen external channels I can only select the base address ( in my case 0x300, with only the option for bytes 0-7.
So basically I can only read eight channels on speedy from the gpio.
I Thought I could do sixteen, and I can going the other way with gpio reading speedy.
This is my very first time using can addressing and I'm probably doing it wrong. I know I haven't done all my homework.
By dazq
#57171
First up ,have you seen the info in the wiki for gpio? The link is tricky so here is
https://speeduino.com/wiki/index.php/DxControl-GPIO

Now the data input.
You don't need to put each data value in one of the 8 bytes a can address would carry. This feature exists in case say for example a two byte value was in the last two bytes rather than the first or even say in byes 3 and 4.

I usually use the first and second bytes for my data .
Each data value in gpio uses an offset of the main address. You put that address into speedy see the table below ( it's in the wiki)
Screenshot_20220528-085647.png
Screenshot_20220528-085647.png (198.75 KiB) Viewed 4611 times
So you enter the gpio base id+ the offset for the data value.

This will allow you to use the whole 16 channels in speedy auxin
By punisher454
#57234
when I try to read the gpio analog channels in TS from the speeduino my gauges just show the can address in decimal form.
For example
I have my GPIO board set at can 0x300. In ts on the speedy side I set a gauge to show external input channel 0 reading 0x341 start byte 0 and two bytes long I get 833. Likewise reading 0x342 gives me 834 and so on. Tried it with two different speedys and several different mega256 boards always the same.
on the gpio i have selected hardware tests activated and can commands deactivated. set to communicate to speedy via serial. I have the sysconfig.ino file modified with the inputs and outputs I want enabled on "case 1" with pin 14 and 15 set to 255.
On the gpio side I can read all the local inputs and the outputs work fine as well, and I have had some success reading the map and tps FROM the speeduino so far.

So basically whatever address I try to read from the remote aux inputs through the serail i just get the can address echoed back in decimal.
next I'll hook up a couple of mcp2515 can tranciever boards, but i thought this was supposed to be do-able over just a serial connection.
By dazq
#57237
next I'll hook up a couple of mcp2515 can tranciever boards, but i thought this was supposed to be do-able over just a serial connection.

Can you explain what you mean ?

Just to confirm the issue you are seeing.
When reading data from gpio into speedy , the value you read is the decimal equivalent of the address of the data channel you want to see?
By punisher454
#57239
yes thats exactly what i'm seeing.
Just to be clear, this happens when I try to have speedy read the gpio through the serial connection.
I have the gpio and speedy both connected to my desktop via usb cables running two instances of TS, one for each.
I think I must have some setting wrong, ive tried tons of different things on both sides.
My gpio is set to 0x300. I have the analog in channel-0 tied directly to the 3v pin on the mega which is showing 679 on the dash gauge for the gpio.
over on the speedy i have second serial enabled, internal canbus disabled, can input 0 set to external source via secondary serial, source can address set to 0x341, start byte 0, number of bytes 2. With this the result on the speedy dash in TS reads 833on the gauge. Other channels likewise also read the can source address set in the external auxiliary input channel configuration page.

I'm using a pair of jumper wires connected to pins 14 and 15 of both the arduino mega's, rx-tx and tx-rx.
I started this trying to connect my pro-stm ecu the same way, with the same results.I thought it may be due to the STM32 differences vs the arduino based speeduino so i tried it with multiple mega2560 speedy's. Same thing no matter what.
The board types have been set correctly for everything. Also I am currently running the 2019.11 on the speedy, but had the same exact results with the 202202 firmware on the stm-pro ecu as well.
Like I was saying i will probably switch to an actual canbus setup, but i thought this was supposed to work with a serial port connection too.

Hi there, I'm doing preliminary research and hope[…]

BMW E23 M30B28

Where did the plugs come from? I've heard there ar[…]

Injected 2 stroke Bultaco

Alternator testing. Its a 3 phase circa 200w alter[…]

NO2C crank signal issues

Once again PSIG, thank you. Note this is set up fo[…]

Still can't find what you're looking for?