Skip to content

Fix empty-buffer crash on '#'; CI now verifies all three PART_SELECT … #3

Fix empty-buffer crash on '#'; CI now verifies all three PART_SELECT …

Fix empty-buffer crash on '#'; CI now verifies all three PART_SELECT … #3

Workflow file for this run

name: AVR Build
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install AVR toolchain
run: |
sudo apt-get update -q
sudo apt-get install -y gcc-avr binutils-avr avr-libc avra
- name: Locate avra include path
run: |
AVRA_INC=$(find /usr/share/avra -name "m32def.inc" 2>/dev/null | head -1 | xargs dirname)
echo "AVRA_INC=$AVRA_INC" >> $GITHUB_ENV
- name: Assemble Lab 6 (external interrupts)
run: avra -I "$AVRA_INC" Lab6_Interrupts/lab6_interrupts.asm
- name: Assemble Lab 7 Part 1 (timer LED roll)
run: |
sed 's/^\.equ PART_SELECT = ./.equ PART_SELECT = 1/' \
Lab7_Timers_Keypad/lab7_timers_keypad.asm > /tmp/lab7_p1.asm
avra -I "$AVRA_INC" /tmp/lab7_p1.asm
- name: Assemble Lab 7 Part 2 (keypad ASCII lookup)
run: |
sed 's/^\.equ PART_SELECT = ./.equ PART_SELECT = 2/' \
Lab7_Timers_Keypad/lab7_timers_keypad.asm > /tmp/lab7_p2.asm
avra -I "$AVRA_INC" /tmp/lab7_p2.asm
- name: Assemble Lab 7 Part 3 (SRAM message buffer)
run: avra -I "$AVRA_INC" Lab7_Timers_Keypad/lab7_timers_keypad.asm
- name: Assemble Lab 8 Part 2 (PWM servo)
run: avra -I "$AVRA_INC" Lab8_PWM_ADC/lab8_part2_pwm_servo.asm
- name: Compile Lab 8 Part 6 (ADC / C)
run: |
avr-gcc -mmcu=atmega32 -DF_CPU=1000000UL \
-Wall -Wextra -Os \
-c Lab8_PWM_ADC/lab8_part6_adc_servo.c \
-o /tmp/lab8_part6_adc_servo.o