Может ли arduino-cli проверять скетчи?
Я пытаюсь выполнить простое модульное тестирование с помощью arduino-cli в .gitlab- ci файл вот так
variables:
DOCKER_HOST: tcp://docker:2375
image: "docker:latest"
services:
- docker:dind
before_script:
- docker pull "arduino/arduino-cli:latest"
- arduinocli(){ docker run arduino/arduino-cli:latest "$@";}
search:
script:
- arduinocli lib search hi
но вместо arduinocli lib search hi
в конце я хочу проверить свой скетч. Есть ли способ сделать это с помощью arduino-cli?
@mikeLundquist, 👍1
Обсуждение2 ответа
Лучший ответ:
На языке Arduino слово «Проверить» используется (ошибочно) для обозначения «Скомпилировать код в двоичный или HEX-файл, но не загружать его на плату».
Чтобы скомпилировать (и, таким образом, «проверить») код, просто передайте команду compile
в arduino-cli
с платой, для которой вы хотите скомпилировать, и скетчем, который вы хотите для компиляции.
Комментарий @Majenko верен на 100 %. Вот мой обновленный .gitlab-ci.yml
для моей библиотеки Arduino.
image: ubuntu:latest
before_script:
- apt-get update -yq
- apt-get install -yq ca-certificates
- apt-get update && apt-get install -y --no-install-recommends bzip2 curl unzip
- apt-get upgrade -yq
- curl -L -o arduino-cli.tar.bz2 https://github.com/arduino/arduino-cli/releases/download/0.3.3-alpha.preview/arduino-cli-0.3.3-alpha.preview -linux64.tar.bz2
- tar xjf arduino-cli.tar.bz2
- mv arduino-cli-0.3.3-alpha.preview-linux64 /usr/bin/ino
- export APPDIR=$(ino config dump | grep --only-matching --regexp=/.*/Arduino)"/libraries/DC_motors"
- mkdir --parents $APPDIR
- mv ./* $APPDIR
test:
script:
- echo 'run a script'
compile:
script:
- ino core update-index
- ino core install arduino:avr
- ino core list
- ino lib install "Adafruit Motor Shield V2 Library"
- ino lib search Regexp
- ino lib install Regexp
- ino lib install AccelStepper
- ino compile --fqbn arduino:avr:uno $APPDIR/examples/API
На случай, если библиотека переместится, вот вывод дерева DC_motors
├── examples
│ └── API
│ └── API.ino
├── extras
│ ├── test
│ │ └── Makefile
│ └── testPython.py
├── .gitignore
├── .gitlab-ci.yml
├── keywords.txt
├── library.properties
├── README.md
└── src
├── MSv2.cpp
├── MSv2.h
├── MSv2Motors.cpp
├── MSv2Motors.h
├── MSv2Steppers.cpp
├── MSv2Steppers.h
└── utility
├── MSv2Common.cpp
└── MSv2Common.h
- Можно ли программировать для Ардуино без реальной платы?
- SPI: проверить, подключив MOSI к MISO
- Как скомпилировать программу Arduino для настольного ПК
- Ardutester Millenium I2c Lcd ничего не показывает!
- Куда должны идти модульные тесты в Arduino IDE
- Прерывание активируется, как только я вставляю перемычку в порт
- Как построить и запустить тесты AUnit
- Есть ли тестовая среда для ардуино?
В Arduino IDE проверка просто "скомпилирована" без загрузки, @KIIV
https://github.com/arduino/arduino-cli#step-5-compile-the-sketch, как сказал KIIV., @Gerben