init
This commit is contained in:
commit
edb98ecff6
|
@ -0,0 +1,5 @@
|
|||
.pio
|
||||
.vscode/.browse.c_cpp.db*
|
||||
.vscode/c_cpp_properties.json
|
||||
.vscode/launch.json
|
||||
.vscode/ipch
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
// See http://go.microsoft.com/fwlink/?LinkId=827846
|
||||
// for the documentation about the extensions.json format
|
||||
"recommendations": [
|
||||
"platformio.platformio-ide"
|
||||
],
|
||||
"unwantedRecommendations": [
|
||||
"ms-vscode.cpptools-extension-pack"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,293 @@
|
|||
{
|
||||
"C_Cpp_Runner.cCompilerPath": "C:/Users/xushenghao/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gcc.exe",
|
||||
"C_Cpp_Runner.cppCompilerPath": "C:/Users/xushenghao/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-g++.exe",
|
||||
"C_Cpp_Runner.debuggerPath": "C:/Users/xushenghao/.platformio/packages/toolchain-xtensa-esp32/bin/xtensa-esp32-elf-gdb.exe",
|
||||
"C_Cpp_Runner.cStandard": "gnu99",
|
||||
"C_Cpp_Runner.cppStandard": "gnu++11",
|
||||
"C_Cpp_Runner.msvcBatchPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Auxiliary/Build/vcvarsall.bat",
|
||||
"C_Cpp_Runner.useMsvc": false,
|
||||
"C_Cpp_Runner.warnings": [
|
||||
"-Wall",
|
||||
"-Wextra",
|
||||
"-Wpedantic",
|
||||
"-Wshadow",
|
||||
"-Wformat=2",
|
||||
"-Wcast-align",
|
||||
"-Wconversion",
|
||||
"-Wsign-conversion",
|
||||
"-Wnull-dereference"
|
||||
],
|
||||
"C_Cpp_Runner.msvcWarnings": [
|
||||
"/W4",
|
||||
"/permissive-",
|
||||
"/w14242",
|
||||
"/w14287",
|
||||
"/w14296",
|
||||
"/w14311",
|
||||
"/w14826",
|
||||
"/w44062",
|
||||
"/w44242",
|
||||
"/w14905",
|
||||
"/w14906",
|
||||
"/w14263",
|
||||
"/w44265",
|
||||
"/w14928"
|
||||
],
|
||||
"C_Cpp_Runner.enableWarnings": true,
|
||||
"C_Cpp_Runner.warningsAsError": false,
|
||||
"C_Cpp_Runner.compilerArgs": [],
|
||||
"C_Cpp_Runner.linkerArgs": [],
|
||||
"C_Cpp_Runner.includePaths": [
|
||||
"C:/Users/xushenghao/Documents/PlatformIO/Projects/TI-ADS1256/include",
|
||||
"C:/Users/xushenghao/Documents/PlatformIO/Projects/TI-ADS1256/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/newlib/platform_include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions/freertos",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/port/xtensa/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freertos/include/esp_additions",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/heap/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/log/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/include/apps/sntp",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/lwip/src/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/lwip/port/esp32/include/arch",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/soc/esp32/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/esp32/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/hal/platform_port/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/include/esp32",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rom/esp32",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_common/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/soc",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_system/port/public_compat",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/xtensa/esp32/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/driver/esp32/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_pm/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ringbuf/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/efuse/esp32/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/vfs/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_wifi/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_netif/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_eth/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcpip_adapter/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_phy/esp32/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_ipc/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_trace/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_timer/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/port/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/mbedtls/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/app_update/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spi_flash/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bootloader_support/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nvs_flash/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/pthread/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/xtensa",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_gdbstub/esp32",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espcoredump/include/port/xtensa",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/port/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ieee802154/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/console",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/asio/asio/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/asio/port/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/osi/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/include/esp32/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/api/include/api",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/common/btc/profile/esp/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_common/tinycrypt/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_core/storage",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/btc/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/common/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/client/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/mesh_models/server/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/core/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api/models/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/bt/esp_ble_mesh/api",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cbor/port/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/unity/unity/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/cmock/CMock/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/port/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/coap/libcoap/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/port/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-tls/esp-tls-crypto",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_adc_cal/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hid/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/tcp_transport/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_client/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_http_server/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_ota/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_https_server/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_lcd/interface",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protobuf-c/protobuf-c",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/common",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/security",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/protocomm/include/transports",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mdns/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_local_ctrl/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/sdmmc/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_serial_slave_link/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_websocket_client/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/expat/expat/lib",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/expat/port/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wear_levelling/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/diskio",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/vfs",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fatfs/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/freemodbus/freemodbus/common/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/idf_test/include/esp32",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/jsmn/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json/cJSON",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/libsodium/port_include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/mqtt/esp-mqtt/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/openssl/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/perfmon/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/spiffs/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ulp/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/wifi_provisioning/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rmaker_common/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_diagnostics/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/rtc_store/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_insights/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_parser/upstream",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/json_generator/upstream",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_schedule/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp_secure_cert_mgr/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_rainmaker/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/gpio_button/button/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/qrcode/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/ws2812_led",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_littlefs/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/tool",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/typedef",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/image",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/math",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/nn",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/layer",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/detect",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-dl/include/model_zoo",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-sr/src/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-sr/esp-tts/esp_tts_chinese/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp-sr/include/esp32",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/driver/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp32-camera/conversions/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dotprod/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/support/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/hann/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_harris/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/blackman_nuttall/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/nuttall/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/windows/flat_top/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/iir/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fir/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/add/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sub/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mul/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/addc/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/mulc/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/math/sqrt/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/matrix/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/fft/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/dct/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/conv/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/common/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/espressif__esp-dsp/modules/kalman/ekf_imu13states/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/fb_gfx/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/qio_qspi/include",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/cores/esp32",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/variants/uPesy_esp32_wroom_devkit",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/ArduinoOTA/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/AsyncUDP/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/DNSServer/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/EEPROM/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/ESP32/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/ESPmDNS/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/Ethernet/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/FFat/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/FS/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/HTTPClient/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdate/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/HTTPUpdateServer/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/I2S/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/Insights/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/LittleFS/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/NetBIOS/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/Preferences/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/RainMaker/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/SD/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/SD_MMC/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/SPI/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/SPIFFS/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/SimpleBLE/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/Ticker/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/USB/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/Update/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/WebServer/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/WiFiProv/src",
|
||||
"C:/Users/xushenghao/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src",
|
||||
""
|
||||
],
|
||||
"C_Cpp_Runner.includeSearch": [
|
||||
"*",
|
||||
"**/*"
|
||||
],
|
||||
"C_Cpp_Runner.excludeSearch": [
|
||||
"**/build",
|
||||
"**/build/**",
|
||||
"**/.*",
|
||||
"**/.*/**",
|
||||
"**/.vscode",
|
||||
"**/.vscode/**"
|
||||
],
|
||||
"C_Cpp_Runner.useAddressSanitizer": false,
|
||||
"C_Cpp_Runner.useUndefinedSanitizer": false,
|
||||
"C_Cpp_Runner.useLeakSanitizer": false,
|
||||
"C_Cpp_Runner.showCompilationTime": false,
|
||||
"C_Cpp_Runner.useLinkTimeOptimization": false,
|
||||
"C_Cpp_Runner.msvcSecureNoWarnings": false,
|
||||
"idf.portWin": "COM5",
|
||||
"C_Cpp.errorSquiggles": "disabled",
|
||||
"files.associations": {
|
||||
"algorithm": "cpp"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
|
||||
This directory is intended for project header files.
|
||||
|
||||
A header file is a file containing C declarations and macro definitions
|
||||
to be shared between several project source files. You request the use of a
|
||||
header file in your project source file (C, C++, etc) located in `src` folder
|
||||
by including it, with the C preprocessing directive `#include'.
|
||||
|
||||
```src/main.c
|
||||
|
||||
#include "header.h"
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Including a header file produces the same results as copying the header file
|
||||
into each source file that needs it. Such copying would be time-consuming
|
||||
and error-prone. With a header file, the related declarations appear
|
||||
in only one place. If they need to be changed, they can be changed in one
|
||||
place, and programs that include the header file will automatically use the
|
||||
new version when next recompiled. The header file eliminates the labor of
|
||||
finding and changing all the copies as well as the risk that a failure to
|
||||
find one copy will result in inconsistencies within a program.
|
||||
|
||||
In C, the usual convention is to give header files names that end with `.h'.
|
||||
It is most portable to use only letters, digits, dashes, and underscores in
|
||||
header file names, and at most one dot.
|
||||
|
||||
Read more about using header files in official GCC documentation:
|
||||
|
||||
* Include Syntax
|
||||
* Include Operation
|
||||
* Once-Only Headers
|
||||
* Computed Includes
|
||||
|
||||
https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html
|
|
@ -0,0 +1,289 @@
|
|||
/*
|
||||
ADS1256.h - Arduino Library for communication with Texas Instrument ADS1256 ADC
|
||||
Written by Adien Akhmad, August 2015
|
||||
Modfified Jan 2019 by Axel Sepulveda for ATMEGA328
|
||||
*/
|
||||
|
||||
#include "ADS1256.h"
|
||||
#include "Arduino.h"
|
||||
#include "SPI.h"
|
||||
|
||||
ADS1256::ADS1256(float clockspdMhz, float vref, bool useResetPin)
|
||||
{
|
||||
// Set DRDY as input
|
||||
pinMode(pinDRDY, INPUT);
|
||||
// Set CS as output
|
||||
pinMode(pinCS, OUTPUT);
|
||||
|
||||
if (useResetPin)
|
||||
{
|
||||
// set RESETPIN as output
|
||||
pinMode(pinRST, OUTPUT);
|
||||
// pull RESETPIN high
|
||||
pinMode(pinRST, HIGH);
|
||||
}
|
||||
|
||||
// Voltage Reference
|
||||
_VREF = vref;
|
||||
|
||||
// Default conversion factor
|
||||
_conversionFactor = 1.0;
|
||||
|
||||
// Start SPI on a quarter of ADC clock speed
|
||||
}
|
||||
|
||||
void ADS1256::writeRegister(unsigned char reg, unsigned char wdata)
|
||||
{
|
||||
CSON();
|
||||
SPI.transfer(ADS1256_CMD_WREG | reg); // opcode1 Write registers starting from reg
|
||||
SPI.transfer(0); // opcode2 Write 1+0 registers
|
||||
SPI.transfer(wdata); // write wdata
|
||||
delayMicroseconds(1);
|
||||
CSOFF();
|
||||
}
|
||||
|
||||
unsigned char ADS1256::readRegister(unsigned char reg)
|
||||
{
|
||||
unsigned char readValue;
|
||||
CSON();
|
||||
SPI.transfer(ADS1256_CMD_RREG | reg); // opcode1 read registers starting from reg
|
||||
SPI.transfer(0); // opcode2 read 1+0 registers
|
||||
delayMicroseconds(7); // t6 delay (4*tCLKIN 50*0.13 = 6.5 us)
|
||||
readValue = SPI.transfer(0); // read registers
|
||||
delayMicroseconds(1); // t11 delay (4*tCLKIN 4*0.13 = 0.52 us)
|
||||
CSOFF();
|
||||
return readValue;
|
||||
}
|
||||
|
||||
void ADS1256::sendCommand(unsigned char reg)
|
||||
{
|
||||
CSON();
|
||||
waitDRDY();
|
||||
SPI.transfer(reg);
|
||||
delayMicroseconds(1); // t11 delay (4*tCLKIN 4*0.13 = 0.52 us)
|
||||
CSOFF();
|
||||
}
|
||||
|
||||
void ADS1256::setConversionFactor(float val) { _conversionFactor = val; }
|
||||
|
||||
void ADS1256::readTest()
|
||||
{
|
||||
unsigned char _highByte, _midByte, _lowByte;
|
||||
CSON();
|
||||
SPI.transfer(ADS1256_CMD_RDATA);
|
||||
delayMicroseconds(7); // t6 delay (4*tCLKIN 50*0.13 = 6.5 us)
|
||||
|
||||
_highByte = SPI.transfer(ADS1256_CMD_WAKEUP);
|
||||
_midByte = SPI.transfer(ADS1256_CMD_WAKEUP);
|
||||
_lowByte = SPI.transfer(ADS1256_CMD_WAKEUP);
|
||||
|
||||
CSOFF();
|
||||
}
|
||||
|
||||
float ADS1256::readCurrentChannel()
|
||||
{
|
||||
CSON();
|
||||
SPI.transfer(ADS1256_CMD_RDATA);
|
||||
delayMicroseconds(7); // t6 delay (4*tCLKIN 50*0.13 = 6.5 us)
|
||||
float adsCode = read_float32();
|
||||
CSOFF();
|
||||
return ((adsCode / 0x7FFFFF) * ((2 * _VREF) / (float)_pga)) *
|
||||
_conversionFactor;
|
||||
}
|
||||
|
||||
// Reads raw ADC data, as 32bit int
|
||||
long ADS1256::readCurrentChannelRaw()
|
||||
{
|
||||
CSON();
|
||||
SPI.transfer(ADS1256_CMD_RDATA);
|
||||
delayMicroseconds(7); // t6 delay (4*tCLKIN 50*0.13 = 6.5 us)
|
||||
long adsCode = read_int32();
|
||||
CSOFF();
|
||||
return adsCode;
|
||||
}
|
||||
|
||||
// Call this ONLY after ADS1256_CMD_RDATA command
|
||||
unsigned long ADS1256::read_uint24()
|
||||
{
|
||||
unsigned char _highByte, _midByte, _lowByte;
|
||||
unsigned long value;
|
||||
|
||||
_highByte = SPI.transfer(0);
|
||||
_midByte = SPI.transfer(0);
|
||||
_lowByte = SPI.transfer(0);
|
||||
|
||||
// Combine all 3-bytes to 24-bit data using byte shifting.
|
||||
value = ((long)_highByte << 16) + ((long)_midByte << 8) + ((long)_lowByte);
|
||||
return value;
|
||||
}
|
||||
|
||||
// Call this ONLY after ADS1256_CMD_RDATA command
|
||||
// Convert the signed 24bit stored in an unsigned 32bit to a signed 32bit
|
||||
long ADS1256::read_int32()
|
||||
{
|
||||
long value = read_uint24();
|
||||
|
||||
if (value & 0x00800000)
|
||||
{ // if the 24 bit value is negative reflect it to 32bit
|
||||
value |= 0xff000000;
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
// Call this ONLY after ADS1256_CMD_RDATA command
|
||||
// Cast as a float
|
||||
float ADS1256::read_float32()
|
||||
{
|
||||
long value = read_int32();
|
||||
return (float)value;
|
||||
}
|
||||
|
||||
// Channel switching for single ended mode. Negative input channel are
|
||||
// automatically set to AINCOM
|
||||
void ADS1256::setChannel(byte channel) { setChannel(channel, -1); }
|
||||
|
||||
// Channel Switching for differential mode. Use -1 to set input channel to
|
||||
// AINCOM
|
||||
void ADS1256::setChannel(byte AIN_P, byte AIN_N)
|
||||
{
|
||||
unsigned char MUX_CHANNEL;
|
||||
unsigned char MUXP;
|
||||
unsigned char MUXN;
|
||||
|
||||
switch (AIN_P)
|
||||
{
|
||||
case 0:
|
||||
MUXP = ADS1256_MUXP_AIN0;
|
||||
break;
|
||||
case 1:
|
||||
MUXP = ADS1256_MUXP_AIN1;
|
||||
break;
|
||||
case 2:
|
||||
MUXP = ADS1256_MUXP_AIN2;
|
||||
break;
|
||||
case 3:
|
||||
MUXP = ADS1256_MUXP_AIN3;
|
||||
break;
|
||||
case 4:
|
||||
MUXP = ADS1256_MUXP_AIN4;
|
||||
break;
|
||||
case 5:
|
||||
MUXP = ADS1256_MUXP_AIN5;
|
||||
break;
|
||||
case 6:
|
||||
MUXP = ADS1256_MUXP_AIN6;
|
||||
break;
|
||||
case 7:
|
||||
MUXP = ADS1256_MUXP_AIN7;
|
||||
break;
|
||||
default:
|
||||
MUXP = ADS1256_MUXP_AINCOM;
|
||||
}
|
||||
|
||||
switch (AIN_N)
|
||||
{
|
||||
case 0:
|
||||
MUXN = ADS1256_MUXN_AIN0;
|
||||
break;
|
||||
case 1:
|
||||
MUXN = ADS1256_MUXN_AIN1;
|
||||
break;
|
||||
case 2:
|
||||
MUXN = ADS1256_MUXN_AIN2;
|
||||
break;
|
||||
case 3:
|
||||
MUXN = ADS1256_MUXN_AIN3;
|
||||
break;
|
||||
case 4:
|
||||
MUXN = ADS1256_MUXN_AIN4;
|
||||
break;
|
||||
case 5:
|
||||
MUXN = ADS1256_MUXN_AIN5;
|
||||
break;
|
||||
case 6:
|
||||
MUXN = ADS1256_MUXN_AIN6;
|
||||
break;
|
||||
case 7:
|
||||
MUXN = ADS1256_MUXN_AIN7;
|
||||
break;
|
||||
default:
|
||||
MUXN = ADS1256_MUXN_AINCOM;
|
||||
}
|
||||
|
||||
MUX_CHANNEL = MUXP | MUXN;
|
||||
|
||||
CSON();
|
||||
writeRegister(ADS1256_RADD_MUX, MUX_CHANNEL);
|
||||
sendCommand(ADS1256_CMD_SYNC);
|
||||
sendCommand(ADS1256_CMD_WAKEUP);
|
||||
CSOFF();
|
||||
}
|
||||
|
||||
/*
|
||||
Init chip with set datarate and gain and perform self calibration
|
||||
*/
|
||||
void ADS1256::begin(unsigned char drate, unsigned char gain, bool buffenable)
|
||||
{
|
||||
_pga = 1 << gain;
|
||||
sendCommand(ADS1256_CMD_SDATAC); // send out ADS1256_CMD_SDATAC command to stop continous reading mode.
|
||||
writeRegister(ADS1256_RADD_DRATE, drate); // write data rate register
|
||||
uint8_t bytemask = B00000111;
|
||||
uint8_t adcon = readRegister(ADS1256_RADD_ADCON);
|
||||
uint8_t byte2send = (adcon & ~bytemask) | gain;
|
||||
writeRegister(ADS1256_RADD_ADCON, byte2send);
|
||||
if (buffenable)
|
||||
{
|
||||
uint8_t status = readRegister(ADS1256_RADD_STATUS);
|
||||
bitSet(status, 1);
|
||||
writeRegister(ADS1256_RADD_STATUS, status);
|
||||
}
|
||||
sendCommand(ADS1256_CMD_SELFCAL); // perform self calibration
|
||||
|
||||
waitDRDY();
|
||||
; // wait ADS1256 to settle after self calibration
|
||||
}
|
||||
|
||||
/*
|
||||
Init chip with default datarate and gain and perform self calibration
|
||||
*/
|
||||
void ADS1256::begin()
|
||||
{
|
||||
sendCommand(ADS1256_CMD_SDATAC); // send out ADS1256_CMD_SDATAC command to stop continous reading mode.
|
||||
uint8_t status = readRegister(ADS1256_RADD_STATUS);
|
||||
sendCommand(ADS1256_CMD_SELFCAL); // perform self calibration
|
||||
waitDRDY(); // wait ADS1256 to settle after self calibration
|
||||
}
|
||||
|
||||
/*
|
||||
Reads and returns STATUS register
|
||||
*/
|
||||
uint8_t ADS1256::getStatus()
|
||||
{
|
||||
sendCommand(ADS1256_CMD_SDATAC); // send out ADS1256_CMD_SDATAC command to stop continous reading mode.
|
||||
return readRegister(ADS1256_RADD_STATUS);
|
||||
}
|
||||
|
||||
void ADS1256::CSON()
|
||||
{
|
||||
// PORT_CS &= ~(1 << PINDEX_CS);
|
||||
digitalWrite(pinCS, LOW);
|
||||
} // digitalWrite(_CS, LOW); }
|
||||
|
||||
void ADS1256::CSOFF()
|
||||
{
|
||||
digitalWrite(pinCS, HIGH);
|
||||
// PORT_CS |= (1 << PINDEX_CS);
|
||||
} // digitalWrite(_CS, HIGH); }
|
||||
|
||||
void ADS1256::waitDRDY()
|
||||
{
|
||||
// while (PIN_DRDY & (1 << PINDEX_DRDY));
|
||||
while (digitalRead(pinDRDY))
|
||||
;
|
||||
}
|
||||
|
||||
boolean ADS1256::isDRDY()
|
||||
{
|
||||
return !digitalRead(pinDRDY);
|
||||
}
|
|
@ -0,0 +1,156 @@
|
|||
/*
|
||||
ADS1256.h - Arduino Library for communication with Texas Instrument ADS1256 ADC
|
||||
Written by Adien Akhmad, August 2015
|
||||
Modifified Jan 2019 by Axel Sepulveda for ATMEGA328
|
||||
*/
|
||||
|
||||
#ifndef ADS1256_h
|
||||
#define ADS1256_h
|
||||
|
||||
#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__)
|
||||
|
||||
#define pinDRDY 9
|
||||
#define pinRST 8
|
||||
#define pinCS 10
|
||||
|
||||
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
|
||||
|
||||
#define pinDRDY 49
|
||||
#define pinRST 48
|
||||
#define pinCS 53
|
||||
|
||||
// Contributions are welcome
|
||||
#elif defined(ARDUINO_ARCH_ESP8266)
|
||||
//https://esp8266-shop.com/esp8266-guide/esp8266-nodemcu-pinout/
|
||||
#define pinDRDY D0
|
||||
#define pinRST D1
|
||||
#define pinCS D8 // D8 Hw Cs in esp8266
|
||||
|
||||
#elif defined(ARDUINO_ARCH_ESP32)
|
||||
// Contributions are welcome
|
||||
//https://circuits4you.com/wp-content/uploads/2018/12/ESP32-Pinout.jpg
|
||||
#define pinDRDY 17
|
||||
#define pinRST 16
|
||||
#define pinCS 5 //
|
||||
#else
|
||||
// Contributions are welcome
|
||||
#warning "Oops! Pins for your board are not defined: pinDRDY, pinRST, pinCS"
|
||||
#endif
|
||||
|
||||
// ADS1256 Register address
|
||||
#define ADS1256_RADD_STATUS 0x00
|
||||
#define ADS1256_RADD_MUX 0x01
|
||||
#define ADS1256_RADD_ADCON 0x02
|
||||
#define ADS1256_RADD_DRATE 0x03
|
||||
#define ADS1256_RADD_IO 0x04
|
||||
#define ADS1256_RADD_OFC0 0x05
|
||||
#define ADS1256_RADD_OFC1 0x06
|
||||
#define ADS1256_RADD_OFC2 0x07
|
||||
#define ADS1256_RADD_FSC0 0x08
|
||||
#define ADS1256_RADD_FSC1 0x09
|
||||
#define ADS1256_RADD_FSC2 0x0A
|
||||
|
||||
// ADS1256 Command
|
||||
#define ADS1256_CMD_WAKEUP 0x00
|
||||
#define ADS1256_CMD_RDATA 0x01
|
||||
#define ADS1256_CMD_RDATAC 0x03
|
||||
#define ADS1256_CMD_SDATAC 0x0f
|
||||
#define ADS1256_CMD_RREG 0x10
|
||||
#define ADS1256_CMD_WREG 0x50
|
||||
#define ADS1256_CMD_SELFCAL 0xF0
|
||||
#define ADS1256_CMD_SELFOCAL 0xF1
|
||||
#define ADS1256_CMD_SELFGCAL 0xF2
|
||||
#define ADS1256_CMD_SYSOCAL 0xF3
|
||||
#define ADS1256_CMD_SYSGCAL 0xF4
|
||||
#define ADS1256_CMD_SYNC 0xFC
|
||||
#define ADS1256_CMD_STANDBY 0xFD
|
||||
#define ADS1256_CMD_RESET 0xFE
|
||||
|
||||
// define multiplexer codes
|
||||
#define ADS1256_MUXP_AIN0 0x00
|
||||
#define ADS1256_MUXP_AIN1 0x10
|
||||
#define ADS1256_MUXP_AIN2 0x20
|
||||
#define ADS1256_MUXP_AIN3 0x30
|
||||
#define ADS1256_MUXP_AIN4 0x40
|
||||
#define ADS1256_MUXP_AIN5 0x50
|
||||
#define ADS1256_MUXP_AIN6 0x60
|
||||
#define ADS1256_MUXP_AIN7 0x70
|
||||
#define ADS1256_MUXP_AINCOM 0x80
|
||||
|
||||
#define ADS1256_MUXN_AIN0 0x00
|
||||
#define ADS1256_MUXN_AIN1 0x01
|
||||
#define ADS1256_MUXN_AIN2 0x02
|
||||
#define ADS1256_MUXN_AIN3 0x03
|
||||
#define ADS1256_MUXN_AIN4 0x04
|
||||
#define ADS1256_MUXN_AIN5 0x05
|
||||
#define ADS1256_MUXN_AIN6 0x06
|
||||
#define ADS1256_MUXN_AIN7 0x07
|
||||
#define ADS1256_MUXN_AINCOM 0x08
|
||||
|
||||
// define gain codes
|
||||
#define ADS1256_GAIN_1 0x00
|
||||
#define ADS1256_GAIN_2 0x01
|
||||
#define ADS1256_GAIN_4 0x02
|
||||
#define ADS1256_GAIN_8 0x03
|
||||
#define ADS1256_GAIN_16 0x04
|
||||
#define ADS1256_GAIN_32 0x05
|
||||
#define ADS1256_GAIN_64 0x06
|
||||
|
||||
// define drate codes
|
||||
/*
|
||||
NOTE : Data Rate vary depending on crystal frequency. Data rates
|
||||
listed below assumes the crystal frequency is 7.68Mhz
|
||||
for other frequency consult the datasheet.
|
||||
*/
|
||||
|
||||
#define ADS1256_DRATE_30000SPS 0xF0
|
||||
#define ADS1256_DRATE_15000SPS 0xE0
|
||||
#define ADS1256_DRATE_7500SPS 0xD0
|
||||
#define ADS1256_DRATE_3750SPS 0xC0
|
||||
#define ADS1256_DRATE_2000SPS 0xB0
|
||||
#define ADS1256_DRATE_1000SPS 0xA1
|
||||
#define ADS1256_DRATE_500SPS 0x92
|
||||
#define ADS1256_DRATE_100SPS 0x82
|
||||
#define ADS1256_DRATE_60SPS 0x72
|
||||
#define ADS1256_DRATE_50SPS 0x63
|
||||
#define ADS1256_DRATE_30SPS 0x53
|
||||
#define ADS1256_DRATE_25SPS 0x43
|
||||
#define ADS1256_DRATE_15SPS 0x33
|
||||
#define ADS1256_DRATE_10SPS 0x23
|
||||
#define ADS1256_DRATE_5SPS 0x13
|
||||
#define ADS1256_DRATE_2_5SPS 0x03
|
||||
|
||||
#include "Arduino.h"
|
||||
#include "SPI.h"
|
||||
|
||||
class ADS1256 {
|
||||
public:
|
||||
ADS1256(float clockspdMhz, float vref, bool useresetpin);
|
||||
void writeRegister(unsigned char reg, unsigned char wdata);
|
||||
unsigned char readRegister(unsigned char reg);
|
||||
void sendCommand(unsigned char cmd);
|
||||
float readCurrentChannel();
|
||||
long readCurrentChannelRaw();
|
||||
void setConversionFactor(float val);
|
||||
void setChannel(byte channel);
|
||||
void setChannel(byte AIP, byte AIN);
|
||||
void begin(unsigned char drate, unsigned char gain, bool bufferenable);
|
||||
void begin();
|
||||
uint8_t getStatus();
|
||||
void waitDRDY();
|
||||
boolean isDRDY();
|
||||
void setGain(uint8_t gain);
|
||||
void readTest();
|
||||
|
||||
private:
|
||||
void CSON();
|
||||
void CSOFF();
|
||||
unsigned long read_uint24();
|
||||
long read_int32();
|
||||
float read_float32();
|
||||
byte _pga;
|
||||
float _VREF;
|
||||
float _conversionFactor;
|
||||
};
|
||||
|
||||
#endif
|
|
@ -0,0 +1,46 @@
|
|||
|
||||
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
|
||||
("lib/your_library_name/[here are source files]").
|
||||
|
||||
For example, see a structure of the following two libraries `Foo` and `Bar`:
|
||||
|
||||
|--lib
|
||||
| |
|
||||
| |--Bar
|
||||
| | |--docs
|
||||
| | |--examples
|
||||
| | |--src
|
||||
| | |- Bar.c
|
||||
| | |- Bar.h
|
||||
| | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
|
||||
| |
|
||||
| |--Foo
|
||||
| | |- Foo.c
|
||||
| | |- Foo.h
|
||||
| |
|
||||
| |- README --> THIS FILE
|
||||
|
|
||||
|- platformio.ini
|
||||
|--src
|
||||
|- main.c
|
||||
|
||||
and a contents of `src/main.c`:
|
||||
```
|
||||
#include <Foo.h>
|
||||
#include <Bar.h>
|
||||
|
||||
int main (void)
|
||||
{
|
||||
...
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
PlatformIO Library Dependency Finder will find automatically dependent
|
||||
libraries scanning project source files.
|
||||
|
||||
More information about PlatformIO Library Dependency Finder
|
||||
- https://docs.platformio.org/page/librarymanager/ldf.html
|
|
@ -0,0 +1,18 @@
|
|||
; PlatformIO Project Configuration File
|
||||
;
|
||||
; Build options: build flags, source filter
|
||||
; Upload options: custom upload port, speed and extra flags
|
||||
; Library options: dependencies, extra library storages
|
||||
; Advanced options: extra scripting
|
||||
;
|
||||
; Please visit documentation for the other options and examples
|
||||
; https://docs.platformio.org/page/projectconf.html
|
||||
|
||||
[env:upesy_wroom]
|
||||
platform = espressif32
|
||||
board = upesy_wroom
|
||||
framework = arduino
|
||||
lib_extra_dirs = ~/Documents/Arduino/libraries
|
||||
lib_deps =
|
||||
./lib
|
||||
monitor_speed = 115200
|
Binary file not shown.
After Width: | Height: | Size: 368 KiB |
|
@ -0,0 +1,3 @@
|
|||
# 接线
|
||||
|
||||
https://github.com/ADS1xxx-Series-ADC-Libraries/ADS1255-ADS1256/issues/11
|
|
@ -0,0 +1,41 @@
|
|||
#include <HardwareSerial.h>
|
||||
#include <ADS1256.h>
|
||||
float clockMHZ = 7.68; // crystal frequency used on ADS1256
|
||||
float vRef = 2.5; // voltage reference
|
||||
// Construct and init ADS1256 object
|
||||
ADS1256 adc(clockMHZ, vRef, false);
|
||||
|
||||
void adc1256_init(void)
|
||||
{
|
||||
SPI.begin();
|
||||
sleep(0.1);
|
||||
SPI.beginTransaction(
|
||||
SPISettings(clockMHZ * 1000000 / 4, MSBFIRST, SPI_MODE1));
|
||||
sleep(0.1);
|
||||
adc.begin(ADS1256_DRATE_30000SPS, ADS1256_GAIN_1, false);
|
||||
|
||||
Serial.println("ADC Started");
|
||||
|
||||
// Set MUX Register to AINO-AIN1 so it start doing the ADC conversion
|
||||
adc.setChannel(3);
|
||||
}
|
||||
|
||||
float adc1256_read(void)
|
||||
{
|
||||
adc.waitDRDY();
|
||||
adc.setChannel(3);
|
||||
return adc.readCurrentChannel();
|
||||
}
|
||||
|
||||
void adc1256_loop(void)
|
||||
{
|
||||
float rst;
|
||||
adc.waitDRDY(); // wait for DRDY to go low before changing multiplexer register
|
||||
adc.setChannel(3); // Set the MUX for differential between ch2 and 3
|
||||
rst = adc.readCurrentChannel(); // DOUT arriving here are from MUX AIN0 and AIN1
|
||||
|
||||
Serial.print(rst, 6);
|
||||
Serial.print("\n");
|
||||
|
||||
delay(1000);
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef ADC1256_H
|
||||
#define ADC1256_H
|
||||
|
||||
// Function declarations
|
||||
void adc1256_init(void);
|
||||
void adc1256_loop(void);
|
||||
float adc1256_read(void);
|
||||
#endif // ADC1256_H
|
|
@ -0,0 +1,13 @@
|
|||
#include <HardwareSerial.h>
|
||||
#include "board.h"
|
||||
#include "adc1256.h"
|
||||
void board_init(void)
|
||||
{
|
||||
Serial.begin(115200); // The value does not matter if you use an MCU with native USB
|
||||
while (!Serial)
|
||||
{
|
||||
; // Wait until the serial becomes available
|
||||
}
|
||||
Serial.println("ADS1256 - 2023-12-22");
|
||||
adc1256_init();
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
#ifndef BOARD_H
|
||||
#define BOARD_H
|
||||
|
||||
// Your code here
|
||||
void board_init(void);
|
||||
|
||||
#endif // BOARD_H
|
|
@ -0,0 +1,115 @@
|
|||
#include <Arduino.h>
|
||||
#include "board.h"
|
||||
#include "adc1256.h"
|
||||
|
||||
volatile bool task_adc1256_flag = false;
|
||||
String read_val = ""; // 用于储存串口接收的字符串
|
||||
float array[5000]; // 存储数据
|
||||
|
||||
String fenge(String str, String fen, int index)
|
||||
{
|
||||
int weizhi;
|
||||
String temps[str.length()];
|
||||
int i = 0;
|
||||
do
|
||||
{
|
||||
weizhi = str.indexOf(fen);
|
||||
if (weizhi != -1)
|
||||
{
|
||||
temps[i] = str.substring(0, weizhi);
|
||||
str = str.substring(weizhi + fen.length(), str.length());
|
||||
i++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (str.length() > 0)
|
||||
temps[i] = str;
|
||||
}
|
||||
} while (weizhi >= 0);
|
||||
|
||||
if (index > i)
|
||||
return "-1";
|
||||
return temps[index];
|
||||
}
|
||||
|
||||
void task_ads(void *pt)
|
||||
{
|
||||
float *array; // 存储数据
|
||||
|
||||
uint16_t i = 0, j = 0;
|
||||
float temp = 0;
|
||||
while (1)
|
||||
{
|
||||
while (task_adc1256_flag)
|
||||
{
|
||||
Serial.println("Waiting for processing ...");
|
||||
|
||||
String part01 = fenge(read_val, ",", 0);
|
||||
String part02 = fenge(read_val, ",", 1);
|
||||
read_val = "";
|
||||
|
||||
int count = part01.toInt();
|
||||
int delay = part02.toInt();
|
||||
|
||||
array = static_cast<float *>(malloc(sizeof(float) * count));
|
||||
memset(array, 0, sizeof(array));
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
array[i] = adc1256_read();
|
||||
vTaskDelay(delay);
|
||||
}
|
||||
// 对array[i]从小到大排序后取中间一个值
|
||||
for (i = 0; i < count - 1; i++)
|
||||
{
|
||||
for (j = 0; j < count - 1 - i; j++)
|
||||
{
|
||||
if (array[j] > array[j + 1])
|
||||
{
|
||||
temp = array[j];
|
||||
array[j] = array[j + 1];
|
||||
array[j + 1] = temp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Serial.println(array[count / 2], 8);
|
||||
task_adc1256_flag = false;
|
||||
|
||||
free(array);
|
||||
}
|
||||
|
||||
vTaskDelay(100); // 延时100ms
|
||||
}
|
||||
}
|
||||
|
||||
void task_serial(void *pt)
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
while (Serial.available() > 0)
|
||||
{
|
||||
read_val = read_val + char(Serial.read()); // 接收串口数据
|
||||
vTaskDelay(20);
|
||||
}
|
||||
if (read_val.length() > 0)
|
||||
{
|
||||
task_adc1256_flag = true;
|
||||
}
|
||||
vTaskDelay(100); // 延时100ms
|
||||
}
|
||||
}
|
||||
|
||||
void setup()
|
||||
{
|
||||
// put your setup code here, to run once:
|
||||
board_init();
|
||||
|
||||
xTaskCreate(task_serial, "task_serial", 1024 * 4, NULL, 1, NULL);
|
||||
xTaskCreate(task_ads, "task_ads", 1024 * 4, NULL, 1, NULL);
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
// put your main code here, to run repeatedly:
|
||||
vTaskDelay(1000); // 延时100ms
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
This directory is intended for PlatformIO Test Runner and project tests.
|
||||
|
||||
Unit Testing is a software testing method by which individual units of
|
||||
source code, sets of one or more MCU program modules together with associated
|
||||
control data, usage procedures, and operating procedures, are tested to
|
||||
determine whether they are fit for use. Unit testing finds problems early
|
||||
in the development cycle.
|
||||
|
||||
More information about PlatformIO Unit Testing:
|
||||
- https://docs.platformio.org/en/latest/advanced/unit-testing/index.html
|
Reference in New Issue