All checks were successful
Build RPi Pico firmware image / Build-Firmware (push) Successful in 3m19s
Check code formatting / Check-C-Format (push) Successful in 8s
Check code formatting / Check-Python-Flake8 (push) Successful in 10s
Check code formatting / Check-Bash-Shellcheck (push) Successful in 5s
Run unit tests on host / Run-Unit-Tests (push) Successful in 9s
Run pytests / Check-Pytest (push) Successful in 11s
The code snippet in hwconfig to adjust the drive strength was incorrect: It was adjusting the wrong pins. This was probably not updated during some pin shuffling in the breadboard phase. Fix this by adjusting the correct pins. Experimentation shows that both setting the slew rate to fast or setting the drive strength to 8 mA (default: slow and 4 mA) is sufficient to make SD SPI work at 25 MHz on the Rev1 PCB. For now, the combination 8 mA and slow is chosen (slow slew rate should result in less high frequency EMI). Also make the SD clock rate adjustable in hwconfig, and set it to 25 MHz for Rev1 and 15 MHz for the breadboard setup. Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
50 lines
867 B
Python
50 lines
867 B
Python
# SPDX-License-Identifier: MIT
|
|
# Copyright (c) 2025 Matthias Blankertz <matthias@blankertz.org>
|
|
|
|
from machine import Pin
|
|
|
|
# SD Card SPI
|
|
SD_DI = Pin.board.GP3
|
|
SD_DO = Pin.board.GP4
|
|
SD_SCK = Pin.board.GP2
|
|
SD_CS = Pin.board.GP5
|
|
SD_CLOCKRATE = 15000000
|
|
|
|
# MAX98357
|
|
I2S_LRCLK = Pin.board.GP7
|
|
I2S_DCLK = Pin.board.GP6
|
|
I2S_DIN = Pin.board.GP8
|
|
I2S_SD = None
|
|
|
|
# RC522
|
|
RC522_SPIID = 1
|
|
RC522_RST = Pin.board.GP9
|
|
RC522_IRQ = Pin.board.GP14
|
|
RC522_MOSI = Pin.board.GP11
|
|
RC522_MISO = Pin.board.GP12
|
|
RC522_SCK = Pin.board.GP10
|
|
RC522_SS = Pin.board.GP13
|
|
|
|
# WS2812
|
|
LED_DIN = Pin.board.GP16
|
|
LED_COUNT = 1
|
|
|
|
# Buttons
|
|
BUTTON_VOLUP = Pin.board.GP17
|
|
BUTTON_VOLDOWN = Pin.board.GP19
|
|
BUTTON_NEXT = Pin.board.GP18
|
|
BUTTON_POWER = None
|
|
|
|
# Power
|
|
POWER_EN = None
|
|
VBAT_ADC = Pin.board.GP26
|
|
|
|
|
|
def board_init():
|
|
pass
|
|
|
|
|
|
def get_battery_voltage():
|
|
# Not supported on breadboard
|
|
return None
|