Initial commit

This commit is contained in:
shylie 2025-04-08 14:49:41 -04:00
commit a0fb6775e3
7 changed files with 87 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.cache/

6
.gitmodules vendored Normal file
View File

@ -0,0 +1,6 @@
[submodule "lib/pico-ice-sdk"]
path = lib/pico-ice-sdk
url = https://github.com/tinyvision-ai-inc/pico-ice-sdk.git
[submodule "lib/--recurse-submodules"]
path = lib/--recurse-submodules
url = https://github.com/tinyvision-ai-inc/pico-ice-sdk.git

21
CMakeLists.txt Normal file
View File

@ -0,0 +1,21 @@
cmake_minimum_required(VERSION 3.13...3.27)
set(PICO_BOARD pico2_ice)
list(APPEND PICO_BOARD_HEADER_DIRS lib/pico-ice-sdk/include/boards)
file(WRITE "${CMAKE_BINARY_DIR}/.gitignore" "*")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
include(lib/pico-ice-sdk/cmake/preinit_pico_ice_sdk.cmake)
set(PICO_SDK_PATH ${CMAKE_SOURCE_DIR}/lib/pico-ice-sdk/lib/pico-sdk)
include(${PICO_SDK_PATH}/external/pico_sdk_import.cmake)
project(pico2-ice-projects C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
pico_sdk_init()
add_subdirectory(lib/pico-ice-sdk)
add_subdirectory(blinky)

9
blinky/CMakeLists.txt Normal file
View File

@ -0,0 +1,9 @@
cmake_minimum_required(VERSION 3.13...3.27)
add_executable(blinky src/main.cpp)
target_link_libraries(blinky
pico_ice_sdk
hardware_pwm
)
pico_add_extra_outputs(blinky)

48
blinky/src/main.cpp Normal file
View File

@ -0,0 +1,48 @@
#include <hardware/gpio.h>
#include <hardware/irq.h>
#include <hardware/pwm.h>
void on_pwm_wrap()
{
static int fade = 0;
static bool going_up = true;
pwm_clear_irq(pwm_gpio_to_slice_num(ICE_LED_RED_PIN));
if (going_up)
{
if (++fade > 255)
{
fade = 255;
going_up = false;
}
}
else
{
if (--fade < 0)
{
fade = 0;
going_up = true;
}
}
pwm_set_gpio_level(ICE_LED_RED_PIN, fade * fade);
}
int main()
{
gpio_set_function(ICE_LED_RED_PIN, GPIO_FUNC_PWM);
uint slice_num = pwm_gpio_to_slice_num(ICE_LED_RED_PIN);
pwm_clear_irq(slice_num);
pwm_set_irq_enabled(slice_num, true);
irq_set_exclusive_handler(PWM_DEFAULT_IRQ_NUM(), on_pwm_wrap);
irq_set_enabled(PWM_DEFAULT_IRQ_NUM(), true);
pwm_config config = pwm_get_default_config();
pwm_config_set_clkdiv(&config, 1.0f);
pwm_init(slice_num, &config, true);
while (true);
}

1
compile_commands.json Symbolic link
View File

@ -0,0 +1 @@
build/compile_commands.json

1
lib/pico-ice-sdk Submodule

@ -0,0 +1 @@
Subproject commit 8de8106296b09d4db68638a7eb32280f8c09a654