Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4b4fd01600 | |||
| b90df4923d | |||
| 79e52ee404 |
@@ -1,285 +0,0 @@
|
||||
clang
|
||||
|
||||
%c -Wno-frame-address -std=gnu99 -Wno-old-style-declaration -Os -mlongcalls -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -MMD
|
||||
%cpp -Wno-frame-address -std=gnu++11 -fexceptions -fno-rtti -Os -mlongcalls -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -MMD
|
||||
|
||||
-I/Users/hdh20267/Documents/pecan_ws/usda-platformio/include
|
||||
-I/Users/hdh20267/Documents/pecan_ws/usda-platformio/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src
|
||||
-I/Users/hdh20267/.platformio/lib/ArduinoJson/src
|
||||
-I/Users/hdh20267/Documents/pecan_ws/usda-platformio/.pio/libdeps/esp32/PubSubClient/src
|
||||
-I/Users/hdh20267/Documents/pecan_ws/usda-platformio/.pio/libdeps/esp32/FastAccelStepper/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/mem/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/dio_qspi/include
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/cores/esp32
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/variants/esp32
|
||||
-I/Users/hdh20267/.platformio/lib/AsyncMqttClient-esphome/src
|
||||
-I/Users/hdh20267/.platformio/lib/AsyncTCP-esphome/src
|
||||
-I/Users/hdh20267/.platformio/lib/Crypto
|
||||
-I/Users/hdh20267/.platformio/lib/Dsmr/src
|
||||
-I/Users/hdh20267/.platformio/lib/ESP32-audioI2S/src
|
||||
-I/Users/hdh20267/.platformio/lib/ESPAsyncWebServer-esphome/src
|
||||
-I/Users/hdh20267/.platformio/lib/FastLED
|
||||
-I/Users/hdh20267/.platformio/lib/HaierProtocol/include
|
||||
-I/Users/hdh20267/.platformio/lib/HaierProtocol/src
|
||||
-I/Users/hdh20267/.platformio/lib/HeatpumpIR
|
||||
-I/Users/hdh20267/.platformio/lib/IRremoteESP8266/src
|
||||
-I/Users/hdh20267/.platformio/lib/Improv/src
|
||||
-I/Users/hdh20267/.platformio/lib/MideaUART/include
|
||||
-I/Users/hdh20267/.platformio/lib/MideaUART/src
|
||||
-I/Users/hdh20267/.platformio/lib/NeoPixelBus/src
|
||||
-I/Users/hdh20267/.platformio/lib/TM1651
|
||||
-I/Users/hdh20267/.platformio/lib/TinyGPSPlus/src
|
||||
-I/Users/hdh20267/.platformio/lib/arduino-MLX90393
|
||||
-I/Users/hdh20267/.platformio/lib/esp_wireguard/include
|
||||
-I/Users/hdh20267/.platformio/lib/esp_wireguard/src
|
||||
-I/Users/hdh20267/.platformio/lib/libsodium/libsodium/src/libsodium/include
|
||||
-I/Users/hdh20267/.platformio/lib/libsodium/libsodium/src/libsodium
|
||||
-I/Users/hdh20267/.platformio/lib/libsodium/libsodium/src/libsodium/include/sodium
|
||||
-I/Users/hdh20267/.platformio/lib/libsodium/port_include
|
||||
-I/Users/hdh20267/.platformio/lib/noise-c/include
|
||||
-I/Users/hdh20267/.platformio/lib/noise-c/src
|
||||
-I/Users/hdh20267/.platformio/lib/noise-c@0.1.1/include
|
||||
-I/Users/hdh20267/.platformio/lib/noise-c@0.1.1/src
|
||||
-I/Users/hdh20267/.platformio/lib/qr-code-generator-library/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/FS/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/SD/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/USB/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/Update/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src
|
||||
-I/Users/hdh20267/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src
|
||||
-I/Users/hdh20267/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/8.4.0
|
||||
-I/Users/hdh20267/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include/c++/8.4.0/xtensa-esp32-elf
|
||||
-I/Users/hdh20267/.platformio/packages/toolchain-xtensa-esp32/lib/gcc/xtensa-esp32-elf/8.4.0/include
|
||||
-I/Users/hdh20267/.platformio/packages/toolchain-xtensa-esp32/lib/gcc/xtensa-esp32-elf/8.4.0/include-fixed
|
||||
-I/Users/hdh20267/.platformio/packages/toolchain-xtensa-esp32/xtensa-esp32-elf/include
|
||||
|
||||
-DPLATFORMIO=60116
|
||||
-DARDUINO_ESP32_DEV
|
||||
-DHAVE_CONFIG_H
|
||||
-DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h"
|
||||
-DUNITY_INCLUDE_CONFIG_H
|
||||
-DWITH_POSIX
|
||||
-D_GNU_SOURCE
|
||||
-DIDF_VER="v4.4.6-dirty"
|
||||
-DESP_PLATFORM
|
||||
-D_POSIX_READER_WRITER_LOCKS
|
||||
-DARDUINO_ARCH_ESP32
|
||||
-DESP32
|
||||
-DF_CPU=240000000L
|
||||
-DARDUINO=10812
|
||||
-DARDUINO_VARIANT="esp32"
|
||||
-DARDUINO_BOARD="Espressif ESP32 Dev Module"
|
||||
-DARDUINO_PARTITION_default
|
||||
@@ -1,19 +0,0 @@
|
||||
CompileFlags:
|
||||
Add:
|
||||
[
|
||||
-mlong-calls,
|
||||
-DSSIZE_MAX,
|
||||
-DLWIP_NO_UNISTD_H=1,
|
||||
-Dssize_t=long,
|
||||
-D_SSIZE_T_DECLARED,
|
||||
]
|
||||
Remove:
|
||||
[
|
||||
-fno-tree-switch-conversion,
|
||||
-f*,
|
||||
-mtext-section-literals,
|
||||
-mlongcalls,
|
||||
-fstrict-volatile-bitfields,
|
||||
-free,
|
||||
-fipa-pta,
|
||||
]
|
||||
+1
-3
@@ -1,7 +1,5 @@
|
||||
.pio/
|
||||
.pio
|
||||
.vscode/.browse.c_cpp.db*
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/launch.json
|
||||
.vscode/ipch
|
||||
build/
|
||||
.cache/
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
cmake_minimum_required(VERSION 3.16.0)
|
||||
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
|
||||
project(usda-platformio)
|
||||
File diff suppressed because one or more lines are too long
+1
-1
@@ -2,7 +2,7 @@
|
||||
This directory is intended for project specific (private) libraries.
|
||||
PlatformIO will compile them to static libraries and link into executable file.
|
||||
|
||||
The source code of each library should be placed in a an own separate directory
|
||||
The source code of each library should be placed in an own separate directory
|
||||
("lib/your_library_name/[here are source files]").
|
||||
|
||||
For example, see a structure of the following two libraries `Foo` and `Bar`:
|
||||
|
||||
+4
-11
@@ -8,15 +8,8 @@
|
||||
; Please visit documentation for the other options and examples
|
||||
; https://docs.platformio.org/page/projectconf.html
|
||||
|
||||
[env:esp32]
|
||||
platform = espressif32 @ ^6.10.0
|
||||
board = esp32dev
|
||||
[env:opta]
|
||||
platform = ststm32
|
||||
board = opta
|
||||
framework = arduino
|
||||
lib_deps =
|
||||
FastAccelStepper
|
||||
PubSubClient
|
||||
ArduinoJson
|
||||
RotaryEncoder
|
||||
ArduinoOTA
|
||||
ESPmDNS
|
||||
|
||||
lib_extra_dirs = ~/Documents/Arduino/libraries
|
||||
|
||||
-1866
File diff suppressed because it is too large
Load Diff
@@ -1,6 +0,0 @@
|
||||
# This file was automatically generated for projects
|
||||
# without default 'CMakeLists.txt' file.
|
||||
|
||||
FILE(GLOB_RECURSE app_sources ${CMAKE_SOURCE_DIR}/src/*.*)
|
||||
|
||||
idf_component_register(SRCS ${app_sources})
|
||||
-424
@@ -1,424 +0,0 @@
|
||||
#include <Arduino.h>
|
||||
#include <FastAccelStepper.h>
|
||||
#include <WiFi.h>
|
||||
#include <PubSubClient.h>
|
||||
#include <RotaryEncoder.h>
|
||||
#include <EEPROM.h>
|
||||
|
||||
const uint8_t bottom_dir_pin = 5, top_dir_pin = 18;
|
||||
const uint8_t bottom_step_pin = 4, top_step_pin = 17;
|
||||
const uint8_t bottom_en_pin = 12, top_en_pin = 16;
|
||||
const uint8_t encoder_a = 19, encoder_b = 21;
|
||||
|
||||
#define EEPROM_SIZE 18
|
||||
#define EEPROM_BOTTOM_POS_ADDR 0 // 0..3
|
||||
#define EEPROM_TOP_POS_ADDR 4 // 4..7
|
||||
#define EEPROM_FLAG_ADDR 8
|
||||
#define EEPROM_BOTTOM_MOVING_FLAG_ADDR 9
|
||||
#define EEPROM_TOP_MOVING_FLAG_ADDR 10
|
||||
#define EEPROM_TOP_BOTTOM_DIFF_ADDR 11 // 11..14 (4 bytes)
|
||||
|
||||
#define HOMING_FLAG 0x01
|
||||
#define NORMAL_FLAG 0x00
|
||||
#define MOVING_FLAG_SET 0xAA
|
||||
#define MOVING_FLAG_CLEAR 0x00
|
||||
|
||||
const char *ssid = "IOT-pecan";
|
||||
const char *password = "aaaaaaaa";
|
||||
const char *mqttServer = "192.168.1.110";
|
||||
const int mqttPort = 1883;
|
||||
|
||||
const char *mqttHeightTopic = "/jc/height";
|
||||
const char *mqttAngleTopic = "/jc/angle";
|
||||
const char *mqttStopTopic = "/jc/stop";
|
||||
const char *mqttHomingFlagTopic = "/jc/homing_mode";
|
||||
const char *mqttDebugTopic = "/jc/debug";
|
||||
const char *mqttStatusTopic = "/jc/status";
|
||||
|
||||
const char *mqttHeightLogTopic = "/jc/height/log";
|
||||
const char *mqttAngleLogTopic = "/jc/angle/log";
|
||||
const char *mqttRPMLogTopic = "/jc/rpm/log";
|
||||
|
||||
const int steps_per_thou = 22;
|
||||
|
||||
// Mechanical limits in steps (negative = more closed)
|
||||
static const long POS_MAX_STEPS = 0;
|
||||
static const long POS_MIN_STEPS = -1665L * steps_per_thou;
|
||||
|
||||
FastAccelStepperEngine engine = FastAccelStepperEngine();
|
||||
FastAccelStepper *bottom_stepper = nullptr;
|
||||
FastAccelStepper *top_stepper = nullptr;
|
||||
|
||||
RotaryEncoder encoder(encoder_a, encoder_b);
|
||||
|
||||
WiFiClient wifiClient;
|
||||
PubSubClient mqttClient(wifiClient);
|
||||
|
||||
// Commanded goals
|
||||
volatile long bottom_step_goal = 0, top_step_goal = 0;
|
||||
|
||||
// Commanded "crush" meaning: MIN(bottom, top) == crush_min_steps
|
||||
volatile long crush_min_steps = 0;
|
||||
|
||||
// Angle difference (top - bottom) in steps
|
||||
volatile long top_angle_difference_steps = 0;
|
||||
|
||||
volatile bool bottom_step_done = true, top_step_done = true;
|
||||
volatile bool bottom_step_sent = false, top_step_sent = false;
|
||||
volatile bool stop = false;
|
||||
bool system_locked = false;
|
||||
|
||||
static void mqttDebugf(const char *fmt, long v) {
|
||||
char buf[128];
|
||||
snprintf(buf, sizeof(buf), fmt, v);
|
||||
mqttClient.publish(mqttDebugTopic, buf);
|
||||
}
|
||||
|
||||
static void writePositionToEEPROM(int addr, long pos)
|
||||
{
|
||||
EEPROM.write(addr, (pos >> 24) & 0xFF);
|
||||
EEPROM.write(addr + 1, (pos >> 16) & 0xFF);
|
||||
EEPROM.write(addr + 2, (pos >> 8) & 0xFF);
|
||||
EEPROM.write(addr + 3, (pos ) & 0xFF);
|
||||
}
|
||||
|
||||
static long readPositionFromEEPROM(int addr)
|
||||
{
|
||||
long pos = ((long)EEPROM.read(addr) << 24) |
|
||||
((long)EEPROM.read(addr + 1) << 16) |
|
||||
((long)EEPROM.read(addr + 2) << 8) |
|
||||
((long)EEPROM.read(addr + 3));
|
||||
return pos;
|
||||
}
|
||||
|
||||
static inline long clampLong(long v, long lo, long hi) {
|
||||
if (v < lo) return lo;
|
||||
if (v > hi) return hi;
|
||||
return v;
|
||||
}
|
||||
|
||||
// Recompute bottom_step_goal and top_step_goal so that:
|
||||
// min(bottom, top) == crush_min_steps
|
||||
// top - bottom == top_angle_difference_steps (as much as limits allow)
|
||||
//
|
||||
// After clamping, we update crush_min_steps to the achieved min so later angle
|
||||
// changes don't "resurrect" an impossible crush target.
|
||||
static void recomputeGoalsFromCrushAndDiff()
|
||||
{
|
||||
long diff = top_angle_difference_steps;
|
||||
|
||||
long bottomGoal, topGoal;
|
||||
|
||||
// Ensure crush_min_steps is within physical limits first.
|
||||
crush_min_steps = clampLong(crush_min_steps, POS_MIN_STEPS, POS_MAX_STEPS);
|
||||
|
||||
if (diff >= 0) {
|
||||
// bottom is the min (more crushed)
|
||||
bottomGoal = crush_min_steps;
|
||||
topGoal = crush_min_steps + diff;
|
||||
} else {
|
||||
// top is the min (more crushed)
|
||||
topGoal = crush_min_steps;
|
||||
bottomGoal = crush_min_steps - diff; // subtract negative => add magnitude
|
||||
}
|
||||
|
||||
// Clamp both to physical limits (this can distort diff near bounds).
|
||||
bottomGoal = clampLong(bottomGoal, POS_MIN_STEPS, POS_MAX_STEPS);
|
||||
topGoal = clampLong(topGoal, POS_MIN_STEPS, POS_MAX_STEPS);
|
||||
|
||||
bottom_step_goal = bottomGoal;
|
||||
top_step_goal = topGoal;
|
||||
|
||||
// Update crush_min_steps to what we can actually achieve.
|
||||
crush_min_steps = (bottomGoal < topGoal) ? bottomGoal : topGoal;
|
||||
|
||||
bottom_step_done = false; bottom_step_sent = false;
|
||||
top_step_done = false; top_step_sent = false;
|
||||
}
|
||||
|
||||
void callback(char *topic, byte *payload, unsigned int length)
|
||||
{
|
||||
String topic_str(topic);
|
||||
String payload_str;
|
||||
payload_str.reserve(length);
|
||||
for (unsigned int i = 0; i < length; i++) payload_str += (char)payload[i];
|
||||
|
||||
long value = payload_str.toInt();
|
||||
|
||||
if (topic_str == mqttHeightTopic && !system_locked)
|
||||
{
|
||||
// Convert incoming "height" into steps. Keeping your original offset logic.
|
||||
// (If this is wrong, it's wrong consistently, at least.)
|
||||
value -= (1875 - 210);
|
||||
value *= steps_per_thou;
|
||||
|
||||
stop = false;
|
||||
|
||||
crush_min_steps = value;
|
||||
recomputeGoalsFromCrushAndDiff();
|
||||
}
|
||||
else if (topic_str == mqttAngleTopic && !system_locked)
|
||||
{
|
||||
stop = false;
|
||||
|
||||
// value is in thou, convert to steps
|
||||
top_angle_difference_steps = value * steps_per_thou;
|
||||
recomputeGoalsFromCrushAndDiff();
|
||||
}
|
||||
else if (topic_str == mqttStopTopic && !system_locked)
|
||||
{
|
||||
stop = true;
|
||||
}
|
||||
else if (topic_str == mqttHomingFlagTopic)
|
||||
{
|
||||
if (payload_str != "0")
|
||||
{
|
||||
EEPROM.write(EEPROM_FLAG_ADDR, HOMING_FLAG);
|
||||
mqttClient.publish(mqttDebugTopic, "Startup flag set to HOMING");
|
||||
}
|
||||
else
|
||||
{
|
||||
EEPROM.write(EEPROM_FLAG_ADDR, NORMAL_FLAG);
|
||||
mqttClient.publish(mqttDebugTopic, "Startup flag set to NORMAL");
|
||||
}
|
||||
EEPROM.commit();
|
||||
}
|
||||
}
|
||||
|
||||
void reconnect()
|
||||
{
|
||||
while (!mqttClient.connected())
|
||||
{
|
||||
if (WiFi.status() != WL_CONNECTED) WiFi.reconnect();
|
||||
|
||||
Serial.println("Attempting MQTT connection...");
|
||||
if (mqttClient.connect("ESP32Client"))
|
||||
{
|
||||
Serial.println("connected");
|
||||
mqttClient.subscribe(mqttHeightTopic);
|
||||
mqttClient.subscribe(mqttAngleTopic);
|
||||
mqttClient.subscribe(mqttStopTopic);
|
||||
mqttClient.subscribe(mqttHomingFlagTopic);
|
||||
}
|
||||
else
|
||||
{
|
||||
Serial.print("failed, rc=");
|
||||
Serial.print(mqttClient.state());
|
||||
Serial.println(" try again in 5 seconds");
|
||||
delay(5000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
long last_publish_time = 0;
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(9600);
|
||||
|
||||
EEPROM.begin(EEPROM_SIZE);
|
||||
engine.init();
|
||||
|
||||
// Now it's legal to read EEPROM-backed values.
|
||||
top_angle_difference_steps = readPositionFromEEPROM(EEPROM_TOP_BOTTOM_DIFF_ADDR);
|
||||
|
||||
WiFi.begin(ssid, password);
|
||||
while (WiFi.status() != WL_CONNECTED)
|
||||
{
|
||||
delay(1000);
|
||||
Serial.println("Connecting to WiFi...");
|
||||
}
|
||||
Serial.println("Connected to WiFi");
|
||||
|
||||
mqttClient.setServer(mqttServer, mqttPort);
|
||||
mqttClient.setCallback(callback);
|
||||
|
||||
// Establish MQTT connection before any publish attempts.
|
||||
reconnect();
|
||||
|
||||
uint8_t startupFlag = EEPROM.read(EEPROM_FLAG_ADDR);
|
||||
Serial.print("Startup flag: ");
|
||||
Serial.println(startupFlag);
|
||||
if (startupFlag == HOMING_FLAG) {
|
||||
top_angle_difference_steps = 0;
|
||||
writePositionToEEPROM(EEPROM_TOP_BOTTOM_DIFF_ADDR, 0);
|
||||
EEPROM.commit();
|
||||
mqttClient.publish(mqttDebugTopic, "HOMING: angle diff reset to 0");
|
||||
}
|
||||
|
||||
uint8_t bottomMovingFlag = EEPROM.read(EEPROM_BOTTOM_MOVING_FLAG_ADDR);
|
||||
uint8_t topMovingFlag = EEPROM.read(EEPROM_TOP_MOVING_FLAG_ADDR);
|
||||
|
||||
if (startupFlag != HOMING_FLAG &&
|
||||
(bottomMovingFlag != MOVING_FLAG_CLEAR || topMovingFlag != MOVING_FLAG_CLEAR))
|
||||
{
|
||||
system_locked = true;
|
||||
mqttClient.publish(mqttDebugTopic, "FAULT: NEEDS HOMING RESET");
|
||||
Serial.println("System locked: Improper shutdown detected. Awaiting homing reset.");
|
||||
EEPROM.write(EEPROM_FLAG_ADDR, HOMING_FLAG);
|
||||
EEPROM.commit();
|
||||
}
|
||||
|
||||
bottom_stepper = engine.stepperConnectToPin(bottom_step_pin);
|
||||
if (bottom_stepper)
|
||||
{
|
||||
bottom_stepper->setDirectionPin(bottom_dir_pin);
|
||||
bottom_stepper->setEnablePin(bottom_en_pin, false);
|
||||
bottom_stepper->setSpeedInHz(1000);
|
||||
bottom_stepper->setAcceleration(250);
|
||||
|
||||
if (startupFlag == HOMING_FLAG)
|
||||
{
|
||||
Serial.println("Starting in homing mode (bottom)");
|
||||
bottom_stepper->setCurrentPosition(0);
|
||||
writePositionToEEPROM(EEPROM_BOTTOM_POS_ADDR, bottom_stepper->getCurrentPosition());
|
||||
EEPROM.write(EEPROM_FLAG_ADDR, NORMAL_FLAG);
|
||||
EEPROM.write(EEPROM_BOTTOM_MOVING_FLAG_ADDR, MOVING_FLAG_CLEAR);
|
||||
EEPROM.commit();
|
||||
mqttClient.publish(mqttDebugTopic, "Started in HOMING mode, flag cleared");
|
||||
}
|
||||
else
|
||||
{
|
||||
bottom_stepper->setCurrentPosition(readPositionFromEEPROM(EEPROM_BOTTOM_POS_ADDR));
|
||||
mqttClient.publish(mqttDebugTopic, "Started in NORMAL mode");
|
||||
mqttDebugf("Bottom stepper loaded %ld position from EEPROM", bottom_stepper->getCurrentPosition());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mqttClient.publish(mqttDebugTopic, "ERROR: bottom_stepper init failed");
|
||||
}
|
||||
|
||||
top_stepper = engine.stepperConnectToPin(top_step_pin);
|
||||
if (top_stepper)
|
||||
{
|
||||
top_stepper->setDirectionPin(top_dir_pin);
|
||||
top_stepper->setEnablePin(top_en_pin, false);
|
||||
top_stepper->setSpeedInHz(1000);
|
||||
top_stepper->setAcceleration(250);
|
||||
|
||||
if (startupFlag == HOMING_FLAG)
|
||||
{
|
||||
Serial.println("Starting in homing mode (top)");
|
||||
top_stepper->setCurrentPosition(0);
|
||||
writePositionToEEPROM(EEPROM_TOP_POS_ADDR, top_stepper->getCurrentPosition());
|
||||
EEPROM.write(EEPROM_TOP_MOVING_FLAG_ADDR, MOVING_FLAG_CLEAR);
|
||||
EEPROM.commit();
|
||||
}
|
||||
else
|
||||
{
|
||||
top_stepper->setCurrentPosition(readPositionFromEEPROM(EEPROM_TOP_POS_ADDR));
|
||||
mqttDebugf("Top stepper loaded %ld position from EEPROM", top_stepper->getCurrentPosition());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mqttClient.publish(mqttDebugTopic, "ERROR: top_stepper init failed");
|
||||
}
|
||||
|
||||
// Initialize crush_min_steps to current achieved minimum so angle changes don't jump.
|
||||
if (bottom_stepper && top_stepper) {
|
||||
long b = bottom_stepper->getCurrentPosition();
|
||||
long t = top_stepper->getCurrentPosition();
|
||||
crush_min_steps = (b < t) ? b : t;
|
||||
} else {
|
||||
crush_min_steps = 0;
|
||||
}
|
||||
|
||||
// Ensure goals are consistent with stored diff at startup.
|
||||
recomputeGoalsFromCrushAndDiff();
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
if (!mqttClient.connected()) reconnect();
|
||||
mqttClient.loop();
|
||||
|
||||
encoder.tick();
|
||||
|
||||
if (millis() - last_publish_time > 1000)
|
||||
{
|
||||
last_publish_time = millis();
|
||||
|
||||
if (bottom_stepper && top_stepper) {
|
||||
mqttClient.publish(mqttHeightLogTopic,
|
||||
String(1665 + bottom_stepper->getCurrentPosition() / steps_per_thou).c_str());
|
||||
|
||||
mqttClient.publish(mqttAngleLogTopic,
|
||||
String((top_stepper->getCurrentPosition() - bottom_stepper->getCurrentPosition()) / steps_per_thou).c_str());
|
||||
}
|
||||
|
||||
mqttClient.publish(mqttRPMLogTopic, String(encoder.getRPM()).c_str());
|
||||
}
|
||||
|
||||
if (!bottom_stepper || !top_stepper) {
|
||||
// If steppers didn't init, don't crash the MCU trying anyway.
|
||||
return;
|
||||
}
|
||||
|
||||
if (system_locked)
|
||||
{
|
||||
bottom_stepper->disableOutputs();
|
||||
top_stepper->disableOutputs();
|
||||
return;
|
||||
}
|
||||
|
||||
if (stop)
|
||||
{
|
||||
bottom_stepper->disableOutputs();
|
||||
top_stepper->disableOutputs();
|
||||
}
|
||||
else
|
||||
{
|
||||
bottom_stepper->enableOutputs();
|
||||
top_stepper->enableOutputs();
|
||||
}
|
||||
|
||||
if (bottom_stepper->getCurrentPosition() != bottom_step_goal &&
|
||||
!bottom_step_done && !bottom_step_sent)
|
||||
{
|
||||
bottom_stepper->moveTo(bottom_step_goal);
|
||||
bottom_step_sent = true;
|
||||
EEPROM.write(EEPROM_BOTTOM_MOVING_FLAG_ADDR, MOVING_FLAG_SET);
|
||||
EEPROM.commit();
|
||||
Serial.println("Moving bottom stepper");
|
||||
}
|
||||
|
||||
if (top_stepper->getCurrentPosition() != top_step_goal &&
|
||||
!top_step_done && !top_step_sent)
|
||||
{
|
||||
top_stepper->moveTo(top_step_goal);
|
||||
top_step_sent = true;
|
||||
EEPROM.write(EEPROM_TOP_MOVING_FLAG_ADDR, MOVING_FLAG_SET);
|
||||
EEPROM.commit();
|
||||
Serial.println("Moving top stepper");
|
||||
}
|
||||
|
||||
if (bottom_stepper->getCurrentPosition() == bottom_step_goal &&
|
||||
!bottom_step_done && bottom_step_sent)
|
||||
{
|
||||
bottom_step_done = true;
|
||||
bottom_step_sent = false;
|
||||
|
||||
writePositionToEEPROM(EEPROM_BOTTOM_POS_ADDR, bottom_stepper->getCurrentPosition());
|
||||
writePositionToEEPROM(EEPROM_TOP_BOTTOM_DIFF_ADDR, top_angle_difference_steps);
|
||||
EEPROM.write(EEPROM_BOTTOM_MOVING_FLAG_ADDR, MOVING_FLAG_CLEAR);
|
||||
EEPROM.commit();
|
||||
|
||||
Serial.println("Bottom stepper done");
|
||||
}
|
||||
|
||||
if (top_stepper->getCurrentPosition() == top_step_goal &&
|
||||
!top_step_done && top_step_sent)
|
||||
{
|
||||
top_step_done = true;
|
||||
top_step_sent = false;
|
||||
|
||||
writePositionToEEPROM(EEPROM_TOP_POS_ADDR, top_stepper->getCurrentPosition());
|
||||
writePositionToEEPROM(EEPROM_TOP_BOTTOM_DIFF_ADDR, top_angle_difference_steps);
|
||||
EEPROM.write(EEPROM_TOP_MOVING_FLAG_ADDR, MOVING_FLAG_CLEAR);
|
||||
EEPROM.commit();
|
||||
|
||||
Serial.println("Top stepper done");
|
||||
}
|
||||
}
|
||||
+131
@@ -0,0 +1,131 @@
|
||||
#include <WiFi.h>
|
||||
#include <PubSubClient.h>
|
||||
|
||||
#undef DEBUG
|
||||
|
||||
const char* ssid = "IOT-pecan";
|
||||
const char* password = "aaaaaaaa";
|
||||
const char* mqttServer = "192.168.1.110";
|
||||
const int mqttPort = 1883;
|
||||
const char* mqttTopic = "/sheller/angle";
|
||||
|
||||
WiFiClient wifiClient;
|
||||
PubSubClient client(wifiClient);
|
||||
|
||||
String inputString = "";
|
||||
|
||||
const float homeAngle = 2.5;
|
||||
const unsigned long fullRetractTime = 14000;
|
||||
const unsigned long homeTime = 4030;
|
||||
const float maxAngle = 5.5;
|
||||
const float minAngle = 2.5;
|
||||
const unsigned long timeTo5Degrees = 8200;
|
||||
|
||||
void setup() {
|
||||
|
||||
#ifdef DEBUG
|
||||
Serial.begin(9600);
|
||||
#endif
|
||||
|
||||
WiFi.begin(ssid, password);
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
delay(1000);
|
||||
|
||||
#ifdef DEBUG
|
||||
Serial.println("Connecting to WiFi...");
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
Serial.println("Connected to WiFi");
|
||||
#endif
|
||||
|
||||
client.setServer(mqttServer, mqttPort);
|
||||
client.setCallback(callback);
|
||||
|
||||
digitalWrite(LED_BUILTIN, HIGH);
|
||||
|
||||
pinMode(RELAY3, OUTPUT);
|
||||
pinMode(RELAY4, OUTPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
unsigned int wifiRetryCount = 0;
|
||||
if (WiFi.status() != WL_CONNECTED){
|
||||
WiFi.disconnect();
|
||||
WiFi.reconnect();
|
||||
|
||||
while (WiFi.status() != WL_CONNECTED){
|
||||
if (wifiRetryCount++ > 5) return;
|
||||
delay(1000);
|
||||
}
|
||||
}
|
||||
if (!client.connected()) {
|
||||
reconnect();
|
||||
}
|
||||
client.loop();
|
||||
|
||||
#ifdef DEBUG
|
||||
while (Serial.available() > 0) {
|
||||
char inChar = Serial.read();
|
||||
if (inChar == '\n') {
|
||||
handleInput(inputString);
|
||||
inputString = "";
|
||||
} else {
|
||||
inputString += inChar;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void callback(char* topic, byte* payload, unsigned int length) {
|
||||
String input;
|
||||
for (int i = 0; i < length; i++) {
|
||||
input += (char)payload[i];
|
||||
}
|
||||
handleInput(input);
|
||||
}
|
||||
|
||||
void handleInput(String input) {
|
||||
float desiredAngle = input.toFloat();
|
||||
|
||||
if(desiredAngle == 0) {
|
||||
// Fully retract without homing
|
||||
digitalWrite(RELAY3, HIGH);
|
||||
delay(fullRetractTime);
|
||||
digitalWrite(RELAY3, LOW);
|
||||
}
|
||||
else if (desiredAngle >= minAngle && desiredAngle <= maxAngle) {
|
||||
// Fully retract
|
||||
digitalWrite(RELAY3, HIGH);
|
||||
delay(fullRetractTime);
|
||||
digitalWrite(RELAY3, LOW);
|
||||
|
||||
// Home
|
||||
digitalWrite(RELAY3, HIGH);
|
||||
digitalWrite(RELAY4, HIGH);
|
||||
delay(homeTime);
|
||||
digitalWrite(RELAY3, LOW);
|
||||
digitalWrite(RELAY4, LOW);
|
||||
|
||||
unsigned long timeToDesiredAngle = ((desiredAngle - homeAngle) / (maxAngle - homeAngle)) * timeTo5Degrees;
|
||||
|
||||
// Move to desired angle
|
||||
digitalWrite(RELAY3, HIGH);
|
||||
digitalWrite(RELAY4, HIGH);
|
||||
delay(timeToDesiredAngle);
|
||||
digitalWrite(RELAY3, LOW);
|
||||
digitalWrite(RELAY4, LOW);
|
||||
}
|
||||
}
|
||||
|
||||
void reconnect() {
|
||||
while (!client.connected()) {
|
||||
if (client.connect("ArduinoClient")) {
|
||||
client.subscribe(mqttTopic);
|
||||
} else {
|
||||
delay(5000);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user