Any general discussion around the firmware, what is does, how it does it etc.
By RempageR1
#68260
GustavoRinaldi wrote: Fri Apr 19, 2024 12:19 pm
moussie369 wrote: Tue Apr 02, 2024 6:00 pm (Tell me if I should upload errors within a text file instead of pasting them directly)

It looks like I missed part of the error for 202202, here's the full version :

.pio\libdeps\black_F407VE\STM32duino RTC\src\STM32RTC.cpp:160:2: warning: #warning "only BCD mode is supported" [-Wcpp]
160 | #warning "only BCD mode is supported"
| ^~~~~~~
Compiling .pio\build\black_F407VE\lib790\Wire\Wire.cpp.o
speeduino\comms.cpp: In function 'void sendPageASCII()':
speeduino\comms.cpp:927:40: warning: taking address of packed member of 'config2' may result in an unaligned pointer value [-Waddress-of-packed-member]
927 | serial_println_range(configPage2.injAng, configPage2.injAng + _countof(configPage2.injAng));
| ~~~~~~~~~~~~^~~~~~
speeduino\src\FRAM\Fram.cpp: In member function 'void FramClass::setClock(uint32_t)':
speeduino\src\FRAM\Fram.cpp:118:24: error: no matching function for call to 'SPIClass::beginTransaction(uint8_t&, SPISettings&)'
118 | spi->beginTransaction(csPin, FRAMSettings);
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from speeduino\src\FRAM\Fram.h:25,
from speeduino\src\FRAM\Fram.cpp:25:
C:\Users\titou\.platformio\packages\framework-arduinoststm32\libraries\SPI\src/SPI.h:131:10: note: candidate: 'void SPIClass::beginTransaction(SPISettings)'
131 | void beginTransaction(SPISettings settings);
| ^~~~~~~~~~~~~~~~
C:\Users\titou\.platformio\packages\framework-arduinoststm32\libraries\SPI\src/SPI.h:131:10: note: candidate expects 1 argument, 2 provided
Compiling .pio\build\black_F407VE\lib790\Wire\utility\twi.c.o
speeduino\src\FRAM\Fram.cpp: In member function 'uint8_t FramClass::spiSend(uint8_t)':
speeduino\src\FRAM\Fram.cpp:324:45: error: 'SPI_CONTINUE' was not declared in this scope
324 | else { reply = spi->transfer(csPin, data, SPI_CONTINUE); }
| ^~~~~~~~~~~~
speeduino\src\FRAM\Fram.cpp: In member function 'uint16_t FramClass::spiSend16(uint16_t)':
speeduino\src\FRAM\Fram.cpp:349:47: error: 'SPI_CONTINUE' was not declared in this scope
349 | else { reply = spi->transfer16(csPin, data, SPI_CONTINUE); }
| ^~~~~~~~~~~~
*** [.pio\build\black_F407VE\src\src\FRAM\Fram.cpp.o] Error 1
C:/Users/titou/Desktop/205/elec/ECU/code/speeduino-202202/speeduino/auxiliaries.ino:15:102: warning: taking address of packed member of 'config10' may result in an unaligned pointer value [-Waddress-of-packed-member]
15 | integerPID_ideal boostPID(&currentStatus.MAP, &currentStatus.boostDuty , &currentStatus.boostTarget, &configPage10.boostSens, &configPage10.boostIntv, configPage6.boostKP, configPage6.boostKI, configPage6.boostKD, DIRECT); //This is the PID object if that algorithm is used. Needs to be global as it maintains state outside of each function call
| ^~~~~~~~~~~~~~~~~~~~~~~

In any case framework-cmsis@~2.50700.0 gives the same result and the other one fails too, here's the error (sorry I didn't remove the "working" part) :

.pio\libdeps\black_F407VE\STM32duino RTC\src\STM32RTC.cpp:160:2: warning: #warning "only BCD mode is supported" [-Wcpp]
160 | #warning "only BCD mode is supported"
| ^~~~~~~
Compiling .pio\build\black_F407VE\libafd\SPI\SPI.cpp.o
speeduino\comms.cpp: In function 'void sendPageASCII()':
speeduino\comms.cpp:927:40: warning: taking address of packed member of 'config2' may result in an unaligned pointer value [-Waddress-of-packed-member]
927 | serial_println_range(configPage2.injAng, configPage2.injAng + _countof(configPage2.injAng));
| ~~~~~~~~~~~~^~~~~~
Compiling .pio\build\black_F407VE\libafd\SPI\utility\spi_com.c.o
Compiling .pio\build\black_F407VE\lib1d6\Wire\Wire.cpp.o
Compiling .pio\build\black_F407VE\lib1d6\Wire\utility\twi.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\HardwareSerial.cpp.o
C:/Users/titou/Desktop/205/elec/ECU/code/speeduino-202202/speeduino/auxiliaries.ino:15:102: warning: taking address of packed member of 'config10' may result in an unaligned pointer value [-Waddress-of-packed-member]
15 | integerPID_ideal boostPID(&currentStatus.MAP, &currentStatus.boostDuty , &currentStatus.boostTarget, &configPage10.boostSens, &configPage10.boostIntv, configPage6.boostKP, configPage6.boostKI, configPage6.boostKD, DIRECT); //This is the PID object if that algorithm is used. Needs to be global as it maintains state outside of each function call
| ^~~~~~~~~~~~~~~~~~~~~~~
Compiling .pio\build\black_F407VE\FrameworkArduino\IPAddress.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\Print.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\RingBuffer.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\Stream.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\Tone.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\USBSerial.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\VirtIOSerial.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\WInterrupts.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\WMath.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\WSerial.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\WString.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\abi.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\avr\dtostrf.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\board.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\core_debug.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\hooks.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\itoa.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\main.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\pins_arduino.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\device.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\generic\condition.c.o
Archiving .pio\build\black_F407VE\libc02\libSTM32duino RTC.a
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\generic\cortexm\sys.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\generic\generic_device.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\generic\generic_init.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\generic\generic_io.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\generic\generic_shmem.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\generic\time.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\init.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\io.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\log.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\libmetal\shmem.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\mbox_ipcc.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\open-amp\remoteproc\remoteproc_virtio.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\open-amp\rpmsg\rpmsg.c.o
Archiving .pio\build\black_F407VE\libafd\libSPI.a
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\open-amp\rpmsg\rpmsg_virtio.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\openamp.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\rsc_table.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\virt_uart.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\virtio\virtio.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\virtio\virtqueue.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\virtio_buffer.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\OpenAMP\virtio_log.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\startup_stm32yyxx.S.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\cdc\cdc_queue.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\cdc\usbd_cdc.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\cdc\usbd_cdc_if.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\hid\usbd_hid_composite.c.o
Archiving .pio\build\black_F407VE\lib1d6\libWire.a
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\hid\usbd_hid_composite_if.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\usb_device_core.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\usb_device_ctlreq.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\usb_device_ioreq.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\usbd_conf.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\usbd_desc.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\usbd_ep_conf.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\stm32\usb\usbd_if.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\wiring_analog.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\wiring_digital.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\wiring_pulse.cpp.o
Compiling .pio\build\black_F407VE\FrameworkArduino\wiring_shift.c.o
Compiling .pio\build\black_F407VE\FrameworkArduino\wiring_time.c.o
Archiving .pio\build\black_F407VE\libFrameworkArduino.a
Linking .pio\build\black_F407VE\firmware.elf
c:/users/titou/.platformio/packages/toolchain-gccarmnoneeabi/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: cannot find -larm_cortexM4lf_math: No such file or directory
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\black_F407VE\firmware.elf] Error 1
Did you ever get to fix it?
Had the same issue, in PlatformIO you have the option to clean up the project and then build from scratch. That resolved it for me.
User avatar
By moussie369
#68261
Do you mean the "full clean" command ?
If so I had already tried it, I know it removes all build files and libraries before downloading them again, and it has helped me in the past but this time it didn't work.
I could try it again if it's of use to someone but I won't bother building old releases otherwise since I now have the latest one working.
By ruckusman
#68365
moussie369 wrote: Sun Apr 21, 2024 4:17 pm ...I didn't change anything and I don't know why but now the newer releases are working, I can build them no problem and they run just fine on both the VET6 and the ZGT6, my best guess is that the whole problem was caused by something within VScode or Platformio.
@moussie369 - Not compilation related but you are the only person I can locate that has speeduino on both the VET6 and ZGT6.

So I do actually have one of each en route to me from aliexpress, while I wait - I'd just like to ask, given that the boards themselves have a different number of pins, is there any commonality on the assignments/locations on the two boards you do have.

I have searched and found these (hoping/assuming that the ones I've ordered are the same - doesn't actually matter if they're not)
VET6 https://stm32-base.org/boards/STM32F407 ... -V2.0.html
ZGT6 https://stm32-base.org/boards/STM32F407 ... 2F4XX.html

I think I know the answer to this question; They're both from the same family, boards are quite different re: number of pins and their location assignments

So a carrier/breakout board for one isn't plausibly going to accommodate the other without either major reworking of the pin assignments in firmware or on the carrier boards, or both - correct?
User avatar
By moussie369
#68371
You won't be able to use a carrier board made for a vet6 with a zgt6 (a bunch of the common pins aren't even on the same location) but the code itself should run fine (at least from my limited experience) it just won't use the extra pins.

I got the zgt6 because at the time I didn't pay much attention, I only use it to test things from outside the car so I wouldn't really consider it a "Speeduino board", I plan to use it to make some kind of dashboard/interior control unit in the future
By Jun Takei
#69178
Hello everyone
I am using STM32_mega on a motorcycle with a Ducati engine. It is still running on an engine emulator, not on the actual bike, but it works well. I used to use arduino_MEGA, but it was old and I thought it was underpowered. So I replaced it with pazi88's STM32_mega CPU. So, please tell me the requirements for logging to the SD card.
Is TunerStudio MS (registered version) a must for the PC app? Will TunerStudio MS lite not work?
User avatar
By moussie369
#69180
Jun Takei wrote: Fri Aug 09, 2024 10:55 pm Hello everyone
I am using STM32_mega on a motorcycle with a Ducati engine. It is still running on an engine emulator, not on the actual bike, but it works well. I used to use arduino_MEGA, but it was old and I thought it was underpowered. So I replaced it with pazi88's STM32_mega CPU. So, please tell me the requirements for logging to the SD card.
Is TunerStudio MS (registered version) a must for the PC app? Will TunerStudio MS lite not work?
Hi,

You should not need a registered version to log to the SD card, but you would "need" a registered version of MegaLogViewerHD to open them afterwards ("need" because you should be able to open the files without it and do the post process yourself).

If you are asking because you tried SD logging but it doesn't seem to detect the card, or be able to write on it, remember that SD support is currently not officially supported on STM32 (from the speeduino wiki), so this is likely a firmware issue (if someone got the SD logging to work on STM32s I'd also be interested).

However, since there is a mention of SD logging on pazi88's github it may still work (check the "STM32_core files" and "Speeduino binary files" sections), but I sadly can't help you with that as this is far out of my reach for the moment .
By Jun Takei
#69183
Thanks for the info.

I understand that SD card support is experimental for STM32.
In this TS, SD Present and SD Ready are green in the status display below. SD OK is not green.
Where is the SD card setup/logging options dialog in the Speeduino PDF manual?
Attachments
SD_LOG.jpg
SD_LOG.jpg (131.57 KiB) Viewed 538 times
User avatar
By moussie369
#69184
The project that's on my desktop is "running" on 2024.02.1 so it should be about the same, I do have the SD submenu under "Data Logging" so my best guess is that you have something not configured correctly in the project properties.
Check that everything is correctly configured and if it doesn't change anything send the tune here.
By Jun Takei
#69185
Thank you for your reply.

The source code I'm using is below.
https://github.com/pazi88/speeduino/tree/STM32_MEGA
I selected the native USB option and compiled it with PlatformIO.

I captured some of the TS setting dialogs.
When I displayed the disabled menu, a grayed-out SD card menu appeared.

MiniTerminal doesn't seem to work with STM32, so I couldn't get any information.

By the way, the same thing happened with the binary below.
https://github.com/pazi88/STM32_mega/tr ... les/202305
Attachments
SD_LOG2.jpg
SD_LOG2.jpg (132.94 KiB) Viewed 497 times
SD_LOG3.jpg
SD_LOG3.jpg (130.78 KiB) Viewed 497 times
SD_LOG4.jpg
SD_LOG4.jpg (34.07 KiB) Viewed 497 times
SD_LOG5.jpg
SD_LOG5.jpg (45.08 KiB) Viewed 497 times
  • 1
  • 30
  • 31
  • 32
  • 33
  • 34

Hi Everyone: I am new to Speeduino and am fascina[…]

Evidently someone else has been down this road bef[…]

The pattern of signals. All signals are conditi[…]

Your simulated MAP signal just needs a signal co[…]

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