{"id":20064927,"url":"https://github.com/baidu/boteye_sensor","last_synced_at":"2025-05-05T18:31:19.262Z","repository":{"id":146187141,"uuid":"110835370","full_name":"baidu/boteye_sensor","owner":"baidu","description":null,"archived":false,"fork":false,"pushed_at":"2018-11-19T07:53:41.000Z","size":7814,"stargazers_count":35,"open_issues_count":10,"forks_count":34,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-09T02:22:19.794Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baidu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-15T13:14:59.000Z","updated_at":"2023-04-15T20:19:46.000Z","dependencies_parsed_at":"2023-05-26T04:30:25.430Z","dependency_job_id":null,"html_url":"https://github.com/baidu/boteye_sensor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baidu%2Fboteye_sensor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baidu%2Fboteye_sensor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baidu%2Fboteye_sensor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baidu%2Fboteye_sensor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baidu","download_url":"https://codeload.github.com/baidu/boteye_sensor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252552982,"owners_count":21766810,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T13:48:20.649Z","updated_at":"2025-05-05T18:31:19.249Z","avatar_url":"https://github.com/baidu.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![boteye](https://image.ibb.co/b1N40z/page_1_1.png)\n\n## boteye_sensor ##\nThis repo contains hardware and firmware of Baidu boteye sensor.\n**If you purchase the [hardware from Kinco Automation](http://www.kinco.cn/solution/detail?id=36\u0026type=all)(a third party manufacturer), which is already loaded with the latest firmware, you can skip the following steps.**\n\n## Hardware Introduction\n\nFirmware supports three hardware versions: `XP`, `XP2`, and `XP3`.\n\n## FX3 SDK Installation ##\n  In order to compile, you need cypress FX3 sdk (http://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-software-development-kit).\n\n  Download the sdk here http://www.cypress.com/file/221546\n\n  You can get `fx3_firmware_linux.tar.gz` and `cyusb_linux_1.0.4.tar.gz`, then extract to root directory of this repo.\n- Install arm gcc compiler\n\n  ```bash\n  sudo apt-get install gcc-arm-none-eabi\n  ```\n\n- Make sure your arm compiler is `arm-none-eabi-gcc version 4.8.2`\n\n  ```bash\n  arm-none-eabi-gcc --version\n  ```\n- Install gcc compiler\n\n  ```bash\n  sudo apt-get install build-essential\n  ```\n\n- Modify SDK config file\n\n  - Configure build type in the file `cyfx3sdk/fw_build/fx3_fw/fx3_build_config.mak`\n\n    Change `CYCONFOPT=fx3_debug` to `CYCONFOPT=fx3_release`\n\n  - Configure the arm compiler info in the file `cyfx3sdk/fw_build/fx3_fw/fx3_armgcc_config.mak`\n\n    Change `LDLIBS += ` section to your lib locations, most likely located in `/usr/arm-linux-gnueabi/lib/libc.a` and `/usr/lib/gcc/arm-none-eabi/4.8.2/libgcc.a`, and replace the default like this:\n    ```bash\n    The ARM toolchain location and the version are taken from environment variables\n    LDLIBS  += \\\n    /usr/lib/arm-none-eabi/lib/libc.a \\\n    /usr/lib/gcc/arm-none-eabi/4.8.2/libgcc.a \\\n\n    EXEEXT\t\t= elf\n    ```\n- Compile img format convert tools: `elf2img`\n\n  To convert elf to img file, you need to compile `cyfx3sdk/util/elf2img/elf2img.c`\n  ```bash\n  cd cyfx3sdk/util/elf2img\n  gcc elf2img.c -o elf2img -O3\n  ```\n\n## Compile Firmware ##\n- If everything is all set, you can run `./build.sh` within `boteye_sensor/firmware`, which generates  `cyfxuvc.img`.\n\n## FX3 Image Download Tool Install ##\n- Install `libusb-dev`\n\n  ```bash\n  sudo apt-get install libusb-1.0-0-dev\n  ```\n\n- Install FX3 tools, please read the README in `./cyusb_linux_1.0.4`.\n\n  ```bash\n  cd cyusb_linux_1.0.4\n  make\n  chmod +x install.sh\n  sudo ./install.sh\n  ```\n- If you find an error `qmake-qt4: command not found`, please install qt4 by running\n\n  ```bash\n  sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer\n  ```\n- Add execute premission of `cyusb_linux`\n  ```bash\n  sudo chmod +x /usr/local/bin/cyusb_linux\n  ```\n\n- Add the following two lines to `~/.bashrc`, run `source ~/.bashrc`, and assign `CYUSB_ROOT` to the corresponding file path.\n\n  ```bash\n  export CYUSB_ROOT=~/Development/sensor/cyusb_linux_1.0.4/\n  export LD_LIBRARY_PATH=/usr/local/lib/\n  source ~/.bashrc\n  ```\n## Image Download ##\n\n  - Use `cyusb_linux` to flash your img file to the board flash. If the sensor has an img on flash, it will\n  go into auto-run mode with red LED blinking for 1s. If the sensor doesn't have an img on flash, the red LED will\n  be always on.  We can use `./sensor/host_bin/spi_test` to erase the img on flash so that we can download a new one.\n  - example: `./sensor/host_bin/spi_test /dev/video0`\n\n## Firmware Tools ##\n- There are two tools you can use in `firmware/host_bin`.\n  - `spi_test`: erase flash\n  - `version_test`: read hardware and software version.\n- You can also install `luvcview` or other camera view tools to test the camera. However, you will most likely see green and red ghost images due to the custom formatting of the stereo raw images.\n\n## About Version ##\n- Hardware version:\n  - You can use command `dmesg` to check USB `Product` attribute, it will show the hardware version.\n  - Example: `Baidu_Robotics_vision_XP2`\n- Software version:\n  - You can also use `dmesg` to check USB `SeriaNumber` attribute, it will show the software version.\n  - Example: `V0.3.7-839610e-commit` [version num - commit hash - commit/dirty]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaidu%2Fboteye_sensor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaidu%2Fboteye_sensor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaidu%2Fboteye_sensor/lists"}