diff --git a/Cards/EaserCAT-7000-DIO+I2C/Firmware/.vscode/c_cpp_properties.json b/Cards/EaserCAT-7000-DIO+I2C/Firmware/.vscode/c_cpp_properties.json index 4eda250..af194dc 100755 --- a/Cards/EaserCAT-7000-DIO+I2C/Firmware/.vscode/c_cpp_properties.json +++ b/Cards/EaserCAT-7000-DIO+I2C/Firmware/.vscode/c_cpp_properties.json @@ -8,104 +8,102 @@ { "name": "PlatformIO", "includePath": [ - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/include", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/src", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/MyMCP3221", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/ADS1X15", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/MCP3X21", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Wire/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SPI/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino/avr", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc/LL", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/inc", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/inc", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Inc", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/STM32F4xx", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/open-amp/lib/include", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/libmetal/lib/include", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/virtual_driver", - "C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/Core/Include", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Include", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc", - "C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/DSP/Include", - "C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/DSP/PrivateInclude", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/variants/STM32F4xx/F407V(E-G)T_F417V(E-G)T", - "C:/Users/Hakan/.platformio/lib/RunningAverage", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/CMSIS_DSP/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/EEPROM/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/IWatchdog/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Keyboard/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Mouse/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/RGB_LED_TLC59731/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Servo/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SoftwareSerial/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SubGhz/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/src", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/include", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/src", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/MyMCP3221", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/ADS1X15", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/MCP3X21", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Wire/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SPI/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino/avr", + "/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc/LL", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/inc", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/inc", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Inc", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Src", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/STM32F4xx", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/open-amp/lib/include", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/libmetal/lib/include", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/virtual_driver", + "/home/debian/.platformio/packages/framework-cmsis/CMSIS/Core/Include", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Include", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc", + "/home/debian/.platformio/packages/framework-cmsis/CMSIS/DSP/Include", + "/home/debian/.platformio/packages/framework-cmsis/CMSIS/DSP/PrivateInclude", + "/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino", + "/home/debian/.platformio/packages/framework-arduinoststm32/variants/STM32F4xx/F407V(E-G)T_F417V(E-G)T", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/CMSIS_DSP/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/EEPROM/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/IWatchdog/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Keyboard/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Mouse/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/RGB_LED_TLC59731/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Servo/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SoftwareSerial/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SubGhz/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/src", "" ], "browse": { "limitSymbolsToIncludedHeaders": true, "path": [ - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/include", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/src", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/MyMCP3221", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/ADS1X15", - "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/MCP3X21", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Wire/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SPI/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino/avr", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc/LL", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/inc", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/inc", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Inc", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/STM32F4xx", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/open-amp/lib/include", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/libmetal/lib/include", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/virtual_driver", - "C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/Core/Include", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Include", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc", - "C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/DSP/Include", - "C:/Users/Hakan/.platformio/packages/framework-cmsis/CMSIS/DSP/PrivateInclude", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/cores/arduino", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/variants/STM32F4xx/F407V(E-G)T_F417V(E-G)T", - "C:/Users/Hakan/.platformio/lib/RunningAverage", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/CMSIS_DSP/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/EEPROM/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/IWatchdog/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Keyboard/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Mouse/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/RGB_LED_TLC59731/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/Servo/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SoftwareSerial/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/SubGhz/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/src", - "C:/Users/Hakan/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/src", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/include", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/src", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/MyMCP3221", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/ADS1X15", + "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/libdeps/genericSTM32F407VGT6/MCP3X21", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Wire/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SPI/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino/avr", + "/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino/stm32", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/inc/LL", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/inc", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/inc", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Inc", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/STM32F4xx_HAL_Driver/Src", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/STM32F4xx", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Inc", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/ST/STM32_USB_Device_Library/Core/Src", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/open-amp/lib/include", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/libmetal/lib/include", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Middlewares/OpenAMP/virtual_driver", + "/home/debian/.platformio/packages/framework-cmsis/CMSIS/Core/Include", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Include", + "/home/debian/.platformio/packages/framework-arduinoststm32/system/Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc", + "/home/debian/.platformio/packages/framework-cmsis/CMSIS/DSP/Include", + "/home/debian/.platformio/packages/framework-cmsis/CMSIS/DSP/PrivateInclude", + "/home/debian/.platformio/packages/framework-arduinoststm32/cores/arduino", + "/home/debian/.platformio/packages/framework-arduinoststm32/variants/STM32F4xx/F407V(E-G)T_F417V(E-G)T", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/CMSIS_DSP/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/EEPROM/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/IWatchdog/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Keyboard/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Mouse/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/RGB_LED_TLC59731/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/Servo/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SoftwareSerial/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SrcWrapper/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/SubGhz/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/USBDevice/src", + "/home/debian/.platformio/packages/framework-arduinoststm32/libraries/VirtIO/src", "" ] }, "defines": [ - "PLATFORMIO=60117", + "PLATFORMIO=60118", "STM32F407xx", "STM32F4", "ECAT", @@ -124,7 +122,7 @@ ], "cStandard": "gnu17", "cppStandard": "gnu++17", - "compilerPath": "C:/Users/Hakan/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-gcc.exe", + "compilerPath": "/home/debian/.platformio/packages/toolchain-gccarmnoneeabi/bin/arm-none-eabi-gcc", "compilerArgs": [ "-mcpu=cortex-m4", "-mthumb", diff --git a/Cards/EaserCAT-7000-DIO+I2C/Firmware/.vscode/launch.json b/Cards/EaserCAT-7000-DIO+I2C/Firmware/.vscode/launch.json index 0c515ea..ba649ec 100755 --- a/Cards/EaserCAT-7000-DIO+I2C/Firmware/.vscode/launch.json +++ b/Cards/EaserCAT-7000-DIO+I2C/Firmware/.vscode/launch.json @@ -12,11 +12,11 @@ "type": "platformio-debug", "request": "launch", "name": "PIO Debug", - "executable": "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf", + "executable": "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf", "projectEnvName": "genericSTM32F407VGT6", - "toolchainBinDir": "C:/Users/Hakan/.platformio/packages/toolchain-gccarmnoneeabi/bin", + "toolchainBinDir": "/home/debian/.platformio/packages/toolchain-gccarmnoneeabi/bin", "internalConsoleOptions": "openOnSessionStart", - "svdPath": "C:/Users/Hakan/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd", + "svdPath": "/home/debian/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd", "preLaunchTask": { "type": "PlatformIO", "task": "Pre-Debug" @@ -26,21 +26,21 @@ "type": "platformio-debug", "request": "launch", "name": "PIO Debug (skip Pre-Debug)", - "executable": "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf", + "executable": "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf", "projectEnvName": "genericSTM32F407VGT6", - "toolchainBinDir": "C:/Users/Hakan/.platformio/packages/toolchain-gccarmnoneeabi/bin", + "toolchainBinDir": "/home/debian/.platformio/packages/toolchain-gccarmnoneeabi/bin", "internalConsoleOptions": "openOnSessionStart", - "svdPath": "C:/Users/Hakan/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd" + "svdPath": "/home/debian/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd" }, { "type": "platformio-debug", "request": "launch", "name": "PIO Debug (without uploading)", - "executable": "Z:/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf", + "executable": "/mnt/server/src/MyOwnEtherCATDevice/Cards/EaserCAT-7000-DIO+I2C/Firmware/.pio/build/genericSTM32F407VGT6/firmware.elf", "projectEnvName": "genericSTM32F407VGT6", - "toolchainBinDir": "C:/Users/Hakan/.platformio/packages/toolchain-gccarmnoneeabi/bin", + "toolchainBinDir": "/home/debian/.platformio/packages/toolchain-gccarmnoneeabi/bin", "internalConsoleOptions": "openOnSessionStart", - "svdPath": "C:/Users/Hakan/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd", + "svdPath": "/home/debian/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd", "loadMode": "manual" } ] diff --git a/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/MetalMusings_EaserCAT_7000.xml b/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/MetalMusings_EaserCAT_7000.xml index 63a26ca..0e2d3b8 100755 --- a/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/MetalMusings_EaserCAT_7000.xml +++ b/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/MetalMusings_EaserCAT_7000.xml @@ -147,6 +147,30 @@ + + DT1603 + 48 + + 0 + Max SubIndex + USINT + 8 + 0 + + ro + + + + 1 + LowPassFilterThresholdVoltage + UDINT + 32 + 16 + + ro + + + DT1A00 48 @@ -243,6 +267,30 @@ + + DT1A04 + 48 + + 0 + Max SubIndex + USINT + 8 + 0 + + ro + + + + 1 + LowpassFilteredVoltage + UDINT + 32 + 16 + + ro + + + DT1C00ARR USINT @@ -278,38 +326,6 @@ DT1C12ARR UINT - 48 - - 1 - 3 - - - - DT1C12 - 64 - - 0 - Max SubIndex - USINT - 8 - 0 - - ro - - - - Elements - DT1C12ARR - 48 - 16 - - ro - - - - - DT1C13ARR - UINT 64 1 @@ -317,7 +333,7 @@ - DT1C13 + DT1C12 80 0 @@ -331,7 +347,7 @@ Elements - DT1C13ARR + DT1C12ARR 64 16 @@ -339,6 +355,38 @@ + + DT1C13ARR + UINT + 80 + + 1 + 5 + + + + DT1C13 + 96 + + 0 + Max SubIndex + USINT + 8 + 0 + + ro + + + + Elements + DT1C13ARR + 80 + 16 + + ro + + + UDINT 32 @@ -525,6 +573,28 @@ + + #x1603 + LowPassFilterThresholdVoltage + DT1603 + 48 + + + Max SubIndex + + 1 + + + + LowPassFilterThresholdVoltage + + #x70030020 + + + + + + #x1A00 Input12 @@ -613,6 +683,28 @@ + + #x1A04 + LowpassFilteredVoltage + DT1A04 + 48 + + + Max SubIndex + + 1 + + + + LowpassFilteredVoltage + + #x60040020 + + + + + + #x1C00 Sync Manager Communication Type @@ -657,12 +749,12 @@ #x1C12 Sync Manager 2 PDO Assignment DT1C12 - 64 + 80 Max SubIndex - 3 + 4 @@ -683,6 +775,12 @@ #x1602 + + PDO Mapping + + #x1603 + + @@ -691,12 +789,12 @@ #x1C13 Sync Manager 3 PDO Assignment DT1C13 - 80 + 96 Max SubIndex - 4 + 5 @@ -723,6 +821,12 @@ #x1A03 + + PDO Mapping + + #x1A04 + + @@ -751,6 +855,18 @@ rw + + #x2002 + LowpassFilterPoleFrequency + UDINT + 32 + + 0 + + + rw + + #x6000 Input12 @@ -803,6 +919,19 @@ T + + #x6004 + LowpassFilteredVoltage + REAL + 32 + + 0 + + + ro + T + + #x7000 Output4 @@ -842,6 +971,19 @@ R + + #x7003 + LowPassFilterThresholdVoltage + REAL + 32 + + 0 + + + ro + R + + @@ -885,6 +1027,17 @@ REAL + + #x1603 + LowPassFilterThresholdVoltage + + #x7003 + #x0 + 32 + LowPassFilterThresholdVoltage + REAL + + #x1A00 Input12 @@ -929,6 +1082,17 @@ USINT + + #x1A04 + LowpassFilteredVoltage + + #x6004 + #x0 + 32 + LowpassFilteredVoltage + REAL + + diff --git a/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/ecat_options.h b/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/ecat_options.h index 3700c45..6340438 100755 --- a/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/ecat_options.h +++ b/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/ecat_options.h @@ -33,8 +33,8 @@ #define SM3_smc 0x20 #define SM3_act 1 -#define MAX_MAPPINGS_SM2 3 -#define MAX_MAPPINGS_SM3 4 +#define MAX_MAPPINGS_SM2 4 +#define MAX_MAPPINGS_SM3 5 #define MAX_RXPDO_SIZE 512 #define MAX_TXPDO_SIZE 512 diff --git a/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/esi.json b/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/esi.json index 4e2118f..33d98fa 100755 --- a/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/esi.json +++ b/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/esi.json @@ -52,6 +52,15 @@ "isSDOitem": true, "data": "&Obj.I2C_address" }, + "2002": { + "otype": "VAR", + "name": "LowpassFilterPoleFrequency", + "access": "RW", + "dtype": "UNSIGNED32", + "value": "0", + "isSDOitem": true, + "data": "&Obj.LowpassFilterPoleFrequency" + }, "A": { "otype": "RECORD", "name": "Error Settings", @@ -122,6 +131,17 @@ "dtype": "UNSIGNED8", "value": "0", "data": "&Obj.Status" + }, + "6004": { + "otype": "VAR", + "name": "LowpassFilteredVoltage", + "access": "RO", + "pdo_mappings": [ + "txpdo" + ], + "dtype": "REAL32", + "value": "0", + "data": "&Obj.LowpassFilteredVoltage" } }, "rxpdo": { @@ -158,6 +178,17 @@ "value": "0", "data": "&Obj.VoltageOffset" }, + "7003": { + "otype": "VAR", + "name": "LowPassFilterThresholdVoltage", + "access": "RO", + "pdo_mappings": [ + "rxpdo" + ], + "dtype": "REAL32", + "value": "0", + "data": "&Obj.LowPassFilterThresholdVoltage" + }, "60664": { "otype": "VAR", "name": "ActualPosition", diff --git a/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/objectlist.c b/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/objectlist.c index 195131a..30d3a8e 100755 --- a/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/objectlist.c +++ b/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/objectlist.c @@ -22,6 +22,9 @@ static const char acName1601_01[] = "VoltageScale"; static const char acName1602[] = "VoltageOffset"; static const char acName1602_00[] = "Max SubIndex"; static const char acName1602_01[] = "VoltageOffset"; +static const char acName1603[] = "LowPassFilterThresholdVoltage"; +static const char acName1603_00[] = "Max SubIndex"; +static const char acName1603_01[] = "LowPassFilterThresholdVoltage"; static const char acName1A00[] = "Input12"; static const char acName1A00_00[] = "Max SubIndex"; static const char acName1A00_01[] = "Input12"; @@ -34,6 +37,9 @@ static const char acName1A02_01[] = "CalculatedVoltage"; static const char acName1A03[] = "Status"; static const char acName1A03_00[] = "Max SubIndex"; static const char acName1A03_01[] = "Status"; +static const char acName1A04[] = "LowpassFilteredVoltage"; +static const char acName1A04_00[] = "Max SubIndex"; +static const char acName1A04_01[] = "LowpassFilteredVoltage"; static const char acName1C00[] = "Sync Manager Communication Type"; static const char acName1C00_00[] = "Max SubIndex"; static const char acName1C00_01[] = "Communications Type SM0"; @@ -45,21 +51,26 @@ static const char acName1C12_00[] = "Max SubIndex"; static const char acName1C12_01[] = "PDO Mapping"; static const char acName1C12_02[] = "PDO Mapping"; static const char acName1C12_03[] = "PDO Mapping"; +static const char acName1C12_04[] = "PDO Mapping"; static const char acName1C13[] = "Sync Manager 3 PDO Assignment"; static const char acName1C13_00[] = "Max SubIndex"; static const char acName1C13_01[] = "PDO Mapping"; static const char acName1C13_02[] = "PDO Mapping"; static const char acName1C13_03[] = "PDO Mapping"; static const char acName1C13_04[] = "PDO Mapping"; +static const char acName1C13_05[] = "PDO Mapping"; static const char acName2000[] = "I2C_devicetype"; static const char acName2001[] = "I2C_address"; +static const char acName2002[] = "LowpassFilterPoleFrequency"; static const char acName6000[] = "Input12"; static const char acName6001[] = "RawData"; static const char acName6002[] = "CalculatedVoltage"; static const char acName6003[] = "Status"; +static const char acName6004[] = "LowpassFilteredVoltage"; static const char acName7000[] = "Output4"; static const char acName7001[] = "VoltageScale"; static const char acName7002[] = "VoltageOffset"; +static const char acName7003[] = "LowPassFilterThresholdVoltage"; const _objd SDO1000[] = { @@ -100,6 +111,11 @@ const _objd SDO1602[] = {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1602_00, 1, NULL}, {0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1602_01, 0x70020020, NULL}, }; +const _objd SDO1603[] = +{ + {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1603_00, 1, NULL}, + {0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1603_01, 0x70030020, NULL}, +}; const _objd SDO1A00[] = { {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A00_00, 1, NULL}, @@ -120,6 +136,11 @@ const _objd SDO1A03[] = {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A03_00, 1, NULL}, {0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A03_01, 0x60030008, NULL}, }; +const _objd SDO1A04[] = +{ + {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1A04_00, 1, NULL}, + {0x01, DTYPE_UNSIGNED32, 32, ATYPE_RO, acName1A04_01, 0x60040020, NULL}, +}; const _objd SDO1C00[] = { {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C00_00, 4, NULL}, @@ -130,18 +151,20 @@ const _objd SDO1C00[] = }; const _objd SDO1C12[] = { - {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C12_00, 3, NULL}, + {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C12_00, 4, NULL}, {0x01, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_01, 0x1600, NULL}, {0x02, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_02, 0x1601, NULL}, {0x03, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_03, 0x1602, NULL}, + {0x04, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C12_04, 0x1603, NULL}, }; const _objd SDO1C13[] = { - {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C13_00, 4, NULL}, + {0x00, DTYPE_UNSIGNED8, 8, ATYPE_RO, acName1C13_00, 5, NULL}, {0x01, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C13_01, 0x1A00, NULL}, {0x02, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C13_02, 0x1A01, NULL}, {0x03, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C13_03, 0x1A02, NULL}, {0x04, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C13_04, 0x1A03, NULL}, + {0x05, DTYPE_UNSIGNED16, 16, ATYPE_RO, acName1C13_05, 0x1A04, NULL}, }; const _objd SDO2000[] = { @@ -151,6 +174,10 @@ const _objd SDO2001[] = { {0x0, DTYPE_UNSIGNED8, 8, ATYPE_RW, acName2001, 0, &Obj.I2C_address}, }; +const _objd SDO2002[] = +{ + {0x0, DTYPE_UNSIGNED32, 32, ATYPE_RW, acName2002, 0, &Obj.LowpassFilterPoleFrequency}, +}; const _objd SDO6000[] = { {0x0, DTYPE_INTEGER32, 32, ATYPE_RO | ATYPE_TXPDO, acName6000, 0, &Obj.Input12}, @@ -167,6 +194,10 @@ const _objd SDO6003[] = { {0x0, DTYPE_UNSIGNED8, 8, ATYPE_RO | ATYPE_TXPDO, acName6003, 0, &Obj.Status}, }; +const _objd SDO6004[] = +{ + {0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_TXPDO, acName6004, 0x00000000, &Obj.LowpassFilteredVoltage}, +}; const _objd SDO7000[] = { {0x0, DTYPE_UNSIGNED8, 8, ATYPE_RO | ATYPE_RXPDO, acName7000, 0, &Obj.Output4}, @@ -179,6 +210,10 @@ const _objd SDO7002[] = { {0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7002, 0x00000000, &Obj.VoltageOffset}, }; +const _objd SDO7003[] = +{ + {0x0, DTYPE_REAL32, 32, ATYPE_RO | ATYPE_RXPDO, acName7003, 0x00000000, &Obj.LowPassFilterThresholdVoltage}, +}; const _objectlist SDOobjects[] = { @@ -190,21 +225,26 @@ const _objectlist SDOobjects[] = {0x1600, OTYPE_RECORD, 1, 0, acName1600, SDO1600}, {0x1601, OTYPE_RECORD, 1, 0, acName1601, SDO1601}, {0x1602, OTYPE_RECORD, 1, 0, acName1602, SDO1602}, + {0x1603, OTYPE_RECORD, 1, 0, acName1603, SDO1603}, {0x1A00, OTYPE_RECORD, 1, 0, acName1A00, SDO1A00}, {0x1A01, OTYPE_RECORD, 1, 0, acName1A01, SDO1A01}, {0x1A02, OTYPE_RECORD, 1, 0, acName1A02, SDO1A02}, {0x1A03, OTYPE_RECORD, 1, 0, acName1A03, SDO1A03}, + {0x1A04, OTYPE_RECORD, 1, 0, acName1A04, SDO1A04}, {0x1C00, OTYPE_ARRAY, 4, 0, acName1C00, SDO1C00}, - {0x1C12, OTYPE_ARRAY, 3, 0, acName1C12, SDO1C12}, - {0x1C13, OTYPE_ARRAY, 4, 0, acName1C13, SDO1C13}, + {0x1C12, OTYPE_ARRAY, 4, 0, acName1C12, SDO1C12}, + {0x1C13, OTYPE_ARRAY, 5, 0, acName1C13, SDO1C13}, {0x2000, OTYPE_VAR, 0, 0, acName2000, SDO2000}, {0x2001, OTYPE_VAR, 0, 0, acName2001, SDO2001}, + {0x2002, OTYPE_VAR, 0, 0, acName2002, SDO2002}, {0x6000, OTYPE_VAR, 0, 0, acName6000, SDO6000}, {0x6001, OTYPE_VAR, 0, 0, acName6001, SDO6001}, {0x6002, OTYPE_VAR, 0, 0, acName6002, SDO6002}, {0x6003, OTYPE_VAR, 0, 0, acName6003, SDO6003}, + {0x6004, OTYPE_VAR, 0, 0, acName6004, SDO6004}, {0x7000, OTYPE_VAR, 0, 0, acName7000, SDO7000}, {0x7001, OTYPE_VAR, 0, 0, acName7001, SDO7001}, {0x7002, OTYPE_VAR, 0, 0, acName7002, SDO7002}, + {0x7003, OTYPE_VAR, 0, 0, acName7003, SDO7003}, {0xffff, 0xff, 0xff, 0xff, NULL, NULL} }; diff --git a/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/utypes.h b/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/utypes.h index 216029b..5d781ab 100755 --- a/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/utypes.h +++ b/Cards/EaserCAT-7000-DIO+I2C/Firmware/lib/soes-esi/utypes.h @@ -17,17 +17,20 @@ typedef struct int32_t RawData; float CalculatedVoltage; uint8_t Status; + float LowpassFilteredVoltage; /* Outputs */ uint8_t Output4; float VoltageScale; float VoltageOffset; + float LowPassFilterThresholdVoltage; /* Parameters */ uint8_t I2C_devicetype; uint8_t I2C_address; + uint32_t LowpassFilterPoleFrequency; } _Objects; extern _Objects Obj; diff --git a/Cards/EaserCAT-7000-DIO+I2C/Firmware/src/main.cpp b/Cards/EaserCAT-7000-DIO+I2C/Firmware/src/main.cpp index af67e0c..7feae44 100755 --- a/Cards/EaserCAT-7000-DIO+I2C/Firmware/src/main.cpp +++ b/Cards/EaserCAT-7000-DIO+I2C/Firmware/src/main.cpp @@ -46,6 +46,7 @@ void ads1014_reset() #define bitcheck(byte, nbit) ((byte) & (1 << (nbit))) volatile uint16_t ALEventIRQ; // ALEvent that caused the interrupt +extern "C" uint32_t ESC_SYNC0cycletime(void); void cb_set_outputs(void) // Get Master outputs, slave inputs, first operation { @@ -54,6 +55,9 @@ void cb_set_outputs(void) // Get Master outputs, slave inputs, first operation digitalWrite(outputPin[i], bitcheck(Obj.Output4, i) ? HIGH : LOW); } +float oldLowPassGain = 0; +uint32_t oldLowpassFilterPoleFrequency = 0; + void cb_get_inputs(void) // Set Master inputs, slave outputs, last operation { static float validData0 = 0.0, validVoltage0 = 0.0; @@ -113,7 +117,7 @@ void cb_get_inputs(void) // Set Master inputs, slave outputs, last operation ads1014_reset(); old_I2Cdevice = ADS1014_TYPE; } - data0 = ads1014->getValue(); + data0 = ads1014->getValue(); stat = ads1014->isConnected() == 1 ? 0 : 1; break; default: // Not supported @@ -141,6 +145,19 @@ void cb_get_inputs(void) // Set Master inputs, slave outputs, last operation // mcp3221 has no reset, reset the I2C bus is the best we can do } Obj.Status = I2C_restarts + (stat << 28); // Put status as bits 28-31, the lower are number of restarts (restart attempts) + + // Low pass filter. See lowpass in linuxcnc doc + float gain = oldLowPassGain; + if (oldLowpassFilterPoleFrequency != Obj.LowpassFilterPoleFrequency) + { + gain = 1 - expf(-2.0 * M_PI * Obj.LowpassFilterPoleFrequency * 1.0e-9 * ESC_SYNC0cycletime()); + oldLowPassGain = gain; + oldLowpassFilterPoleFrequency = Obj.LowpassFilterPoleFrequency; + } + if (Obj.CalculatedVoltage < Obj.LowPassFilterThresholdVoltage) + Obj.LowpassFilteredVoltage = Obj.CalculatedVoltage; // Just forward + else + Obj.LowpassFilteredVoltage += (Obj.CalculatedVoltage - Obj.LowpassFilteredVoltage) * gain; } void ESC_interrupt_enable(uint32_t mask); @@ -320,8 +337,6 @@ void ESC_interrupt_disable(uint32_t mask) } } -extern "C" uint32_t ESC_SYNC0cycletime(void); - // Setup of DC uint16_t dc_checker(void) {