Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion Firmware/RP2040/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

set(SRC ${CMAKE_CURRENT_LIST_DIR}/src)
set(EXTERNAL_DIR ${CMAKE_CURRENT_LIST_DIR}/../external)
set(PICOSDK_VERSION_TAG "2.1.0")
set(PICOSDK_VERSION_TAG "2.1.1")

include(${CMAKE_CURRENT_LIST_DIR}/../cmake/init_submodules.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/../cmake/patch_libs.cmake)
Expand Down Expand Up @@ -167,6 +167,13 @@ elseif(OGXM_BOARD STREQUAL "ESP32_BLUERETRO_I2C")
add_compile_definitions(OGXM_RETAIL=1)
endif()

elseif(OGXM_BOARD STREQUAL "RP2350_USB_A")
add_compile_definitions(CONFIG_OGXM_BOARD_RP2350_USB_A=1)
set(EN_USB_HOST TRUE)
set(PICO_PLATFORM rp2350)
set(EN_RGB TRUE)
set(FLASH_SIZE_MB 2)

else()
message(FATAL_ERROR "Invalid OGXM_BOARD value. See options in src/board_config.h")

Expand Down
8 changes: 7 additions & 1 deletion Firmware/RP2040/src/Board/Config.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
#define ESP32_BLUERETRO_I2C 5
#define EXTERNAL_4CH_I2C 6
#define INTERNAL_4CH_I2C 7
#define BOARDS_COUNT 8
#define RP2350_USB_A 8
#define BOARDS_COUNT 9

#define SYSCLOCK_KHZ 240000

Expand Down Expand Up @@ -89,6 +90,11 @@
#define MAX_GAMEPADS 1
#endif

#elif defined(CONFIG_OGXM_BOARD_RP2350_USB_A)
#define OGXM_BOARD RP2350_USB_A
#define PIO_USB_DP_PIN 12
#define RGB_PXL_PIN 16

#else
#error "Invalid OGXMini board selected"

Expand Down
2 changes: 1 addition & 1 deletion Firmware/RP2040/src/OGXMini/Board/Standard.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "Board/Config.h"
#include "OGXMini/Board/Standard.h"
#if ((OGXM_BOARD == PI_PICO) || (OGXM_BOARD == RP2040_ZERO) || (OGXM_BOARD == ADAFRUIT_FEATHER))
#if ((OGXM_BOARD == PI_PICO) || (OGXM_BOARD == RP2040_ZERO) || (OGXM_BOARD == ADAFRUIT_FEATHER) || (OGXM_BOARD == RP2350_USB_A))

#include <pico/multicore.h>

Expand Down
5 changes: 5 additions & 0 deletions Firmware/RP2040/src/OGXMini/OGXMini.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ namespace OGXMini {
esp32_br_i2c::initialize, // ESP32_BLUERETRO_I2C
four_ch_i2c::initialize, // EXTERNAL_4CH_I2C
four_ch_i2c::initialize, // INTERNAL_4CH_I2C
standard::initialize, // RP2350_USB_A
};

static constexpr RunFunc run_func[BOARDS_COUNT] = {
Expand All @@ -33,6 +34,7 @@ namespace OGXMini {
esp32_br_i2c::run, // ESP32_BLUERETRO_I2C
four_ch_i2c::run, // EXTERNAL_4CH_I2C
four_ch_i2c::run, // INTERNAL_4CH_I2C
standard::run, // RP2350_USB_A
};

static constexpr HostMountedFunc host_mount_func[BOARDS_COUNT] = {
Expand All @@ -44,6 +46,7 @@ namespace OGXMini {
nullptr, // ESP32_BLUERETRO_I2C
four_ch_i2c::host_mounted, // EXTERNAL_4CH_I2C
four_ch_i2c::host_mounted, // INTERNAL_4CH_I2C
standard::host_mounted, // RP2350_USB_A
};

static constexpr HostMountedWTypeFunc host_mount_w_type_func[BOARDS_COUNT] = {
Expand All @@ -55,6 +58,7 @@ namespace OGXMini {
nullptr, // ESP32_BLUERETRO_I2C
four_ch_i2c::host_mounted_w_type, // EXTERNAL_4CH_I2C
four_ch_i2c::host_mounted_w_type, // INTERNAL_4CH_I2C
nullptr, // RP2350_USB_A
};

static constexpr WirelessConnectedFunc wl_conn_func[BOARDS_COUNT] = {
Expand All @@ -66,6 +70,7 @@ namespace OGXMini {
nullptr, // ESP32_BLUERETRO_I2C
four_ch_i2c::wireless_connected, // EXTERNAL_4CH_I2C
four_ch_i2c::wireless_connected, // INTERNAL_4CH_I2C
nullptr, // RP2350_USB_A
};

void initialize() {
Expand Down
1 change: 1 addition & 0 deletions Firmware/RP2040/src/TaskQueue/TaskQueue.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#ifndef TASK_QUEUE_H
#define TASK_QUEUE_H

#include <algorithm>
#include <cstdint>
#include <functional>
#include <memory>
Expand Down