Giter Club home page Giter Club logo

gliderthrow_meter's Introduction

GliderThrow_Meter

This project proposes a simple digital Angle/Throw meter and ... Differentials, using two esp32 and two MPU 6050 6 DOFFS components.

GliderThrow meter is composed by two device, each using one esp32 and one MPU 6050.

Each device can measure the deflections in degrees / millimeters with a resolution of 0.1 degrees and can measure the differential when working together with a second unit since GliderThrow is a system that comprises two sensors, one for each wing or control surface of your airplane.

Using a dual system simplifies a lot the throw setting of your model by having a direct view of both control surfaces at the same time.

GliderThrow is primary design for setting the control surface of a RC glider but you will find that it can be used on most every RC airplane and for a variety of applications as Measuring a dihedral angle of a wing, Measuring Model Airplane Incidence angle , etc.

As the first device embedded a small http server, the data can be viewed through any web browser on a smartphone, PC, or MAC, using Windows, Linux, Android or iOS.

UI is built using bootstrap and jquery, and all the files needed are embedded in the .rodata segment of the first device.

The project is composed of two parts, the server (Esp_mad_Server directory) and the client (Esp_mad_Client directory).

Two extras libraries are used in the project : i2clibdev and MPU6050 from jrowberg (https://github.com/jrowberg/i2cdevlib).

These libraries are in the extra_components directory of the project.

For more information, please read the docs at https://gliderthrow-meter.readthedocs.io/en/latest/

Enjoy !

gliderthrow_meter's People

Contributors

adesandr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gliderthrow_meter's Issues

Cant open any files

Hi, i can´t open any files, i try with arduino ide and visual studio code and i can´t see the code for upload to esp32.
Can you explain how i did upload the code to try this project¿?

Feature request

Hi @adesandr
First of all thank you for sharing your work with the world :)
Are there any plans on upgrading to 4 Sensors? I mostly fly F3B gliders with 2 control surfaces per wing an up to 7 Flight Phases. Setting the throws would become much easier with 4 Sensors at a time.
Greetings
Steffen

Error Bottom pcb silk Bat Connector?

Dear andesandr,

I copied your project and had the boards made. Apparently there is an error regarding the battery socket labeling. + and - are swapped.
Can you confirm it?

Best regards
Manfred

Can you provide compiled firmware

Can you provide compiled firmware? I have studied for a few days, but still can't set up a compilation environment.
English is not good, borrowed google translation. Thanks!

Unable to build firmware

According to your instructions, I set up a compiling environment, and the error is reported as follows after compiling. I use the same ESP32 as yours to make the printed PCB files you released.
If possible, please post the compiled file.
Please understand that the English is not good.
Executing task: cmake -G Ninja .. <

-- Found Git: C:/Users/lockb/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- mconf-idf version mconf-v4.6.0.0-idf-20190628-win32
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Check for working C compiler: C:/Users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Check for working C compiler: C:/Users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe
-- Check for working CXX compiler: C:/Users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Project version: 1.1.0
-- Building ESP-IDF components for target esp32
-- Checking Python dependencies...
Python requirements from C:\esp-idf\requirements.txt are satisfied.
-- Project sdkconfig file C:/esp-idf/msys32/home/Eliot/esp/GliderThrow_Meter/sdkconfig
-- Found PythonInterp: C:/Users/lockb/.espressif/python_env/idf4.0_py3.8_env/Scripts/python.exe (found version "3.8.7")
-- Could NOT find Perl (missing: PERL_EXECUTABLE)
-- Adding linker script C:/esp-idf/msys32/home/Eliot/esp/GliderThrow_Meter/build/esp-idf/esp32/esp32_out.ld
-- Adding linker script C:/esp-idf/components/esp32/ld/esp32.project.ld.in
-- Adding linker script C:/esp-idf/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script C:/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script C:/esp-idf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Adding linker script C:/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script C:/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Components: app_trace app_update asio bootloader bootloader_support bt coap console cxx driver efuse esp-tls esp32 esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_http_client esp_http_server esp_https_ota esp_https_server esp_local_ctrl esp_ringbuf esp_rom esp_websocket_client esp_wifi espcoredump esptool_py expat fatfs freemodbus freertos heap idf_test jsmn json libsodium log lwip mbedtls mdns mqtt newlib nghttp nvs_flash openssl partition_table protobuf-c protocomm pthread sdmmc soc spi_flash spiffs tcp_transport tcpip_adapter ulp unity vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: C:/esp-idf/components/app_trace C:/esp-idf/components/app_update C:/esp-idf/components/asio C:/esp-idf/components/bootloader C:/esp-idf/components/bootloader_support C:/esp-idf/components/bt C:/esp-idf/components/coap C:/esp-idf/components/console C:/esp-idf/components/cxx C:/esp-idf/components/driver C:/esp-idf/components/efuse C:/esp-idf/components/esp-tls C:/esp-idf/components/esp32 C:/esp-idf/components/esp_adc_cal C:/esp-idf/components/esp_common C:/esp-idf/components/esp_eth C:/esp-idf/components/esp_event C:/esp-idf/components/esp_gdbstub C:/esp-idf/components/esp_http_client C:/esp-idf/components/esp_http_server C:/esp-idf/components/esp_https_ota C:/esp-idf/components/esp_https_server C:/esp-idf/components/esp_local_ctrl C:/esp-idf/components/esp_ringbuf C:/esp-idf/components/esp_rom C:/esp-idf/components/esp_websocket_client C:/esp-idf/components/esp_wifi C:/esp-idf/components/espcoredump C:/esp-idf/components/esptool_py C:/esp-idf/components/expat C:/esp-idf/components/fatfs C:/esp-idf/components/freemodbus C:/esp-idf/components/freertos C:/esp-idf/components/heap C:/esp-idf/components/idf_test C:/esp-idf/components/jsmn C:/esp-idf/components/json C:/esp-idf/components/libsodium C:/esp-idf/components/log C:/esp-idf/components/lwip C:/esp-idf/components/mbedtls C:/esp-idf/components/mdns C:/esp-idf/components/mqtt C:/esp-idf/components/newlib C:/esp-idf/components/nghttp C:/esp-idf/components/nvs_flash C:/esp-idf/components/openssl C:/esp-idf/components/partition_table C:/esp-idf/components/protobuf-c C:/esp-idf/components/protocomm C:/esp-idf/components/pthread C:/esp-idf/components/sdmmc C:/esp-idf/components/soc C:/esp-idf/components/spi_flash C:/esp-idf/components/spiffs C:/esp-idf/components/tcp_transport C:/esp-idf/components/tcpip_adapter C:/esp-idf/components/ulp C:/esp-idf/components/unity C:/esp-idf/components/vfs C:/esp-idf/components/wear_levelling C:/esp-idf/components/wifi_provisioning C:/esp-idf/components/wpa_supplicant C:/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/esp-idf/msys32/home/Eliot/esp/GliderThrow_Meter/build

Terminal will be reused by tasks, press any key to close it.

Executing task: cmake --build . <

[8/815] cmd.exe /C "cd /D C:\esp-idf\msys32\home\Eliot\esp\GliderThrow_Meter\build\esp-idf\partition_table && C:\Users\lockb.espressif\tools\cmake\3...& C:\Users\lockb.espressif\tools\cmake\3.13.4\bin\cmake.exe -E echo *******************************************************************************"
Partition table binary generated. Contents:

Espressif ESP32 Partition Table
Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,24K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1M,

[808/815] Performing configure step for 'bootloader'
-- Found Git: C:/Users/lockb/.espressif/tools/idf-git/2.30.1/cmd/git.exe (found version "2.30.1.windows.1")
-- mconf-idf version mconf-v4.6.0.0-idf-20190628-win32
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Check for working C compiler: C:/Users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe
-- Check for working C compiler: C:/Users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe
-- Check for working CXX compiler: C:/Users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Project version: v4.0.3-dirty
-- Building ESP-IDF components for target esp32
-- Project sdkconfig file C:/esp-idf/msys32/home/Eliot/esp/GliderThrow_Meter/sdkconfig
-- Adding linker script C:/esp-idf/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script C:/esp-idf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/esp-idf/components/esp_rom/esp32/ld/esp32.rom.newlib-funcs.ld
-- Adding linker script C:/esp-idf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script C:/esp-idf/components/bootloader/subproject/main/esp32.bootloader.ld
-- Adding linker script C:/esp-idf/components/bootloader/subproject/main/esp32.bootloader.rom.ld
-- Components: bootloader bootloader_support efuse esp32 esp_common esp_rom esptool_py log main micro-ecc partition_table soc spi_flash xtensa
-- Component paths: C:/esp-idf/components/bootloader C:/esp-idf/components/bootloader_support C:/esp-idf/components/efuse C:/esp-idf/components/esp32 C:/esp-idf/components/esp_common C:/esp-idf/components/esp_rom C:/esp-idf/components/esptool_py C:/esp-idf/components/log C:/esp-idf/components/bootloader/subproject/main C:/esp-idf/components/bootloader/subproject/components/micro-ecc C:/esp-idf/components/partition_table C:/esp-idf/components/soc C:/esp-idf/components/spi_flash C:/esp-idf/components/xtensa
-- Configuring done
-- Generating done
-- Build files have been written to: C:/esp-idf/msys32/home/Eliot/esp/GliderThrow_Meter/build/bootloader
[811/815] Linking CXX executable esp-mad-server.elf
FAILED: esp-mad-server.elf
cmd.exe /C "cd . && C:\Users\lockb.espressif\tools\xtensa-esp32-elf\esp-2020r3-8.4.0\xtensa-esp32-elf\bin\xtensa-esp32-elf-g++.exe -mlongcalls -Wno-frame-address -nostdlib @CMakeFiles\esp-mad-server.elf.rsp -o esp-mad-server.elf && cd ."
c:/users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/esp32/libesp32.a(cpu_start.c.obj):(.literal.main_task+0x18): undefined reference to app_main' c:/users/lockb/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: esp-idf/esp32/libesp32.a(cpu_start.c.obj): in function main_task':
C:/esp-idf/components/esp32/cpu_start.c:566: undefined reference to `app_main'
collect2.exe: error: ld returned 1 exit status
[812/815] Performing build step for 'bootloader'
[1/62] Generating project_elf_src.c
[2/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/gpio_periph.c.obj
[3/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdmmc_periph.c.obj
[4/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/cpu_util.c.obj
[5/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_periph.c.obj
[6/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/spi_periph.c.obj
[7/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_time.c.obj
[8/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_clk_init.c.obj
[9/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_pm.c.obj
[10/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/soc_memory_layout.c.obj
[11/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_init.c.obj
[12/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/memory_layout_utils.c.obj
[13/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_clk.c.obj
[14/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_sleep.c.obj
[15/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/rtc_wdt.c.obj
[16/62] Building ASM object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/debug_helpers_asm.S.obj
[17/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/soc_include_legacy_warn.c.obj
[18/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/esp32/sdio_slave_periph.c.obj
[19/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/lldesc.c.obj
[20/62] Building C object CMakeFiles/bootloader.elf.dir/project_elf_src.c.obj
[21/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_slave_hal_iram.c.obj
[22/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_slave_hal.c.obj
[23/62] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/eri.c.obj
[24/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_flash_hal.c.obj
[25/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_hal_iram.c.obj
[26/62] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/debug_helpers.c.obj
[27/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_hal.c.obj
[28/62] Building C object esp-idf/soc/CMakeFiles/__idf_soc.dir/src/hal/spi_flash_hal_iram.c.obj
[29/62] Building C object esp-idf/xtensa/CMakeFiles/__idf_xtensa.dir/trax.c.obj
[30/62] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/esp32/esp_efuse_table.c.obj
[31/62] Building C object esp-idf/log/CMakeFiles/__idf_log.dir/log.c.obj
[32/62] Building C object esp-idf/spi_flash/CMakeFiles/__idf_spi_flash.dir/spi_flash_rom_patch.c.obj
[33/62] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_api.c.obj
[34/62] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_fields.c.obj
[35/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_common.c.obj
[36/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash.c.obj
[37/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_clock.c.obj
[38/62] Building C object esp-idf/efuse/CMakeFiles/__idf_efuse.dir/src/esp_efuse_utility.c.obj
[39/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp_image_format.c.obj
[40/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_random.c.obj
[41/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_flash_config.c.obj
[42/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_utility.c.obj
[43/62] Building C object esp-idf/micro-ecc/CMakeFiles/__idf_micro-ecc.dir/micro-ecc/uECC.c.obj
[44/62] Linking C static library esp-idf\log\liblog.a
[45/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_partitions.c.obj
[46/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_encrypt.c.obj
[47/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/flash_qio_mode.c.obj
[48/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/bootloader_sha.c.obj
[49/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/secure_boot_signatures.c.obj
[50/62] Linking C static library esp-idf\xtensa\libxtensa.a
[51/62] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/bootloader_start.c.obj
[52/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/flash_encrypt.c.obj
[53/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/esp32/secure_boot.c.obj
[54/62] Building C object esp-idf/bootloader_support/CMakeFiles/__idf_bootloader_support.dir/src/bootloader_init.c.obj
[55/62] Linking C static library esp-idf\soc\libsoc.a
[56/62] Linking C static library esp-idf\micro-ecc\libmicro-ecc.a
[57/62] Linking C static library esp-idf\bootloader_support\libbootloader_support.a
[58/62] Linking C static library esp-idf\efuse\libefuse.a
[59/62] Linking C static library esp-idf\spi_flash\libspi_flash.a
[60/62] Linking C static library esp-idf\main\libmain.a
[61/62] Linking C executable bootloader.elf
[62/62] Generating binary image from built executable
esptool.py v2.9-dev
Generated C:/esp-idf/msys32/home/Eliot/esp/GliderThrow_Meter/build/bootloader/bootloader.bin
ninja: build stopped: subcommand failed.
The terminal process "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command cmake --build ." terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.