Skip to content

Adicionado exemplo de uso do LedRGB #76

Adicionado exemplo de uso do LedRGB

Adicionado exemplo de uso do LedRGB #76

Workflow file for this run

name: Arduino Compile
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:
jobs:
# Nome do trabalho a ser realizado
compile:
strategy:
# Desabilita fail-fast e garante que todas as matrix sejam testadas
fail-fast: false
# Estratégia em Matrix, pois vamos trabalhar com diversos tipos de placa
matrix:
#Aqui a escolha de placas se dá pelos nomes das placas, não há necessidade
#de um nome específico, funciona apenas como identificação
boards: [arduino-uno, arduino-mega, arduino-leonardo, arduino-gemma, micronucleus-franzininho]
include:
# Aqui iremos setar algumas informações necessárias para cada placa
#
# Variável arduino-platform:
# Neste caso se refere diretamente a variável da plataforma em que a placa é trabalhada
# As placas padrões da Plataforma Arduino são conhecidas como arduino:avr devido sua
# arquitetura de microcontroladores AVR
#
# Variável fqbn:
# Se refere diretamente a escolha da placa ao qual você deseja realizar um trabalho
#
# Variável serial-enabled:
# Se refere as placas que possuem comunicação serial por meio de interface USB padrão
# do Arduino, que é a mesma serial do Monitor Serial. Essa variável é necessária, pois
# há placas (arduino-gemma e micronucleus-franzininho) que trabalham com processador que
# não suporta interface serial dos exemplos
- boards: arduino-uno
arduino-platform: "arduino:avr"
fqbn: "arduino:avr:uno"
serial-enabled: true
- boards: arduino-mega
arduino-platform: "arduino:avr"
fqbn: "arduino:avr:mega"
serial-enabled: true
- boards: arduino-leonardo
arduino-platform: "arduino:avr"
fqbn: "arduino:avr:leonardo"
serial-enabled: true
- boards: arduino-gemma
arduino-platform: "arduino:avr"
fqbn: "arduino:avr:gemma"
serial-enabled: false
- boards: micronucleus-franzininho
arduino-platform: "digistump:avr"
flag-additional-urls: "--additional-urls http://digistump.com/package_digistump_index.json"
fqbn: "digistump:avr:digispark-tiny"
flag-programmer: "--programmer micronucleus"
serial-enabled: false
# Plataforma em que iremos rodar o workflow
runs-on: ubuntu-latest
# Lista de trabalhos a serem realizados
steps:
# Vamos utilizar a Action 'checkout' para trabalhar com os clones do repositório
# requisito da action setup-arduino-cli
- name: Checkout
uses: actions/checkout@master
# É necessário Compactar a pasta src (fonte da biblioteca)
# é uma necessidade do arduino-cli para instalar e usar a biblioteca Brasilino.h.
- name: Instalação Compactador Zip
uses: montudor/action-zip@v0.1.1
- name: Compacta Brasilino.zip
run: zip -qq -r src.zip src
working-directory: ${{ github.workspace }}
# Nós usamos a Action 'setup-arduino-cli' para instalar e configurar a 'arduino-cli'
# a ferramenta/Action que irá realizar a compilação dos sketches para as placas
- name: Instalação Arduino CLI
uses: arduino/setup-arduino-cli@v1.1.1
with:
version: "0.17.0"
# Nós fazemos a instalação da plataforma que irá dinâmicamente ser construído
# pela estratégia da matrix
- name: Instalar Plataforma Arduino
run: |
arduino-cli core download ${{ matrix.arduino-platform }} ${{ matrix.flag-additional-urls }}
arduino-cli core update-index
arduino-cli core install ${{ matrix.arduino-platform }} ${{ matrix.flag-additional-urls }}
# Habilitar a instalação não segura da biblioteca Brasilino local
# é necessário criar um config file para armazenar o valor da flag
- name: Habilitar instalação não segura
run: |
arduino-cli config init
arduino-cli config set library.enable_unsafe_install true
# Instalação da Biblioteca Brasilino Local
- name: Instalação Brasilino
run: |
arduino-cli lib install --zip-path ${{ github.workspace }}/src.zip
# Finally, we compile the sketch, using the FQBN that was set
# Compila automaticamente todos os exemplos .ino
- name: Compilar todos os exemplos
run: |
find ./examples -name "*.ino" | while read sketch; do
if [[ "$sketch" =~ "analogicoSerial"|"ASCII"|"quarentaedois"|"Luminosidade"|"Temperatura"|"Ultrassom" ]]; then
if [ "${{ matrix.serial-enabled }}" = "true" ]; then
arduino-cli compile --fqbn ${{ matrix.fqbn }} ${{ matrix.flag-programmer }} "$sketch"
fi
else
arduino-cli compile --fqbn ${{ matrix.fqbn }} ${{ matrix.flag-programmer }} "$sketch"
fi
done