From 8423640e350fd6f6c6a6ac1367c0a31f1bc1de1c Mon Sep 17 00:00:00 2001 From: Ben Kyd Date: Fri, 9 Jun 2023 23:57:12 +0100 Subject: [PATCH] Seeing if i can get this to work --- .../clangd/index/main.c.FD33880BB41924A3.idx | Bin 0 -> 1584 bytes .../clangd/index/vga.c.0DFA730AD660A07F.idx | Bin 0 -> 1942 bytes .../clangd/index/vga.h.DADCA5B487311169.idx | Bin 0 -> 1754 bytes CMakeLists.txt | 35 +++++--------- {kicad => designs}/Product Logo.png | Bin {kicad => designs}/Product Logo.psd | Bin {kicad => designs}/Product Version.png | Bin {kicad => designs}/Product Version.psd | Bin {kicad => designs}/picovga/fp-info-cache | 0 {kicad => designs}/picovga/fp-lib-table | 0 .../kiwih_kicad.pretty/XM4L1542132.kicad_mod | 0 .../kiwih_kicad.pretty/name-logo.kicad_mod | 0 .../lib/kiwih_kicad.pretty/osh.kicad_mod | 0 .../kiwih_kicad.pretty/product-logo.kicad_mod | 0 .../product-version.kicad_mod | 0 .../raspberrypi-pico-module.kicad_mod | 0 .../picovga/lib/pico_rp2040.dcm | 0 .../picovga/lib/pico_rp2040.kicad_prl | 0 .../picovga/lib/pico_rp2040.kicad_pro | 0 .../picovga/lib/pico_rp2040.lib | 0 {kicad => designs}/picovga/picovga | 0 {kicad => designs}/picovga/picovga-B_Cu.gbr | 0 {kicad => designs}/picovga/picovga-B_Mask.gbr | 0 .../picovga/picovga-B_Paste.gbr | 0 .../picovga/picovga-B_Silkscreen.gbr | 0 .../picovga/picovga-Edge_Cuts.gbr | 0 {kicad => designs}/picovga/picovga-F_Cu.gbr | 0 {kicad => designs}/picovga/picovga-F_Mask.gbr | 0 .../picovga/picovga-F_Paste.gbr | 0 .../picovga/picovga-F_Silkscreen.gbr | 0 .../picovga/picovga-NPTH-drl_map.gbr | 0 {kicad => designs}/picovga/picovga-NPTH.drl | 0 .../picovga/picovga-PTH-drl_map.gbr | 0 {kicad => designs}/picovga/picovga-PTH.drl | 0 {kicad => designs}/picovga/picovga-job.gbrjob | 0 {kicad => designs}/picovga/picovga.kicad_pcb | 0 {kicad => designs}/picovga/picovga.kicad_prl | 0 {kicad => designs}/picovga/picovga.kicad_pro | 0 {kicad => designs}/picovga/picovga.kicad_sch | 0 {kicad => designs}/picovga/picovga.zip | Bin {kicad => designs}/picovga/sym-lib-table | 0 main.c | 40 ---------------- makefile | 16 +++++++ pico_sdk_import.cmake | 21 +++++++-- src/main.c | 17 +++++++ vga.c => src/vga.c | 44 +++++++++--------- src/vga.h | 40 ++++++++++++++++ vga.h | 40 ---------------- vga.txt | 5 -- video.pio | 28 ----------- 50 files changed, 122 insertions(+), 164 deletions(-) create mode 100644 .cache/clangd/index/main.c.FD33880BB41924A3.idx create mode 100644 .cache/clangd/index/vga.c.0DFA730AD660A07F.idx create mode 100644 .cache/clangd/index/vga.h.DADCA5B487311169.idx rename {kicad => designs}/Product Logo.png (100%) rename {kicad => designs}/Product Logo.psd (100%) rename {kicad => designs}/Product Version.png (100%) rename {kicad => designs}/Product Version.psd (100%) rename {kicad => designs}/picovga/fp-info-cache (100%) rename {kicad => designs}/picovga/fp-lib-table (100%) rename {kicad => designs}/picovga/lib/kiwih_kicad.pretty/XM4L1542132.kicad_mod (100%) rename {kicad => designs}/picovga/lib/kiwih_kicad.pretty/name-logo.kicad_mod (100%) rename {kicad => designs}/picovga/lib/kiwih_kicad.pretty/osh.kicad_mod (100%) rename {kicad => designs}/picovga/lib/kiwih_kicad.pretty/product-logo.kicad_mod (100%) rename {kicad => designs}/picovga/lib/kiwih_kicad.pretty/product-version.kicad_mod (100%) rename {kicad => designs}/picovga/lib/kiwih_kicad.pretty/raspberrypi-pico-module.kicad_mod (100%) rename {kicad => designs}/picovga/lib/pico_rp2040.dcm (100%) rename {kicad => designs}/picovga/lib/pico_rp2040.kicad_prl (100%) rename {kicad => designs}/picovga/lib/pico_rp2040.kicad_pro (100%) rename {kicad => designs}/picovga/lib/pico_rp2040.lib (100%) rename {kicad => designs}/picovga/picovga (100%) rename {kicad => designs}/picovga/picovga-B_Cu.gbr (100%) rename {kicad => designs}/picovga/picovga-B_Mask.gbr (100%) rename {kicad => designs}/picovga/picovga-B_Paste.gbr (100%) rename {kicad => designs}/picovga/picovga-B_Silkscreen.gbr (100%) rename {kicad => designs}/picovga/picovga-Edge_Cuts.gbr (100%) rename {kicad => designs}/picovga/picovga-F_Cu.gbr (100%) rename {kicad => designs}/picovga/picovga-F_Mask.gbr (100%) rename {kicad => designs}/picovga/picovga-F_Paste.gbr (100%) rename {kicad => designs}/picovga/picovga-F_Silkscreen.gbr (100%) rename {kicad => designs}/picovga/picovga-NPTH-drl_map.gbr (100%) rename {kicad => designs}/picovga/picovga-NPTH.drl (100%) rename {kicad => designs}/picovga/picovga-PTH-drl_map.gbr (100%) rename {kicad => designs}/picovga/picovga-PTH.drl (100%) rename {kicad => designs}/picovga/picovga-job.gbrjob (100%) rename {kicad => designs}/picovga/picovga.kicad_pcb (100%) rename {kicad => designs}/picovga/picovga.kicad_prl (100%) rename {kicad => designs}/picovga/picovga.kicad_pro (100%) rename {kicad => designs}/picovga/picovga.kicad_sch (100%) rename {kicad => designs}/picovga/picovga.zip (100%) rename {kicad => designs}/picovga/sym-lib-table (100%) delete mode 100644 main.c create mode 100644 makefile create mode 100644 src/main.c rename vga.c => src/vga.c (61%) create mode 100644 src/vga.h delete mode 100644 vga.h delete mode 100644 vga.txt delete mode 100644 video.pio diff --git a/.cache/clangd/index/main.c.FD33880BB41924A3.idx b/.cache/clangd/index/main.c.FD33880BB41924A3.idx new file mode 100644 index 0000000000000000000000000000000000000000..b70503fc28798671567dc86ff7084e47b5069bd6 GIT binary patch literal 1584 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 literal 0 HcmV?d00001 diff --git a/.cache/clangd/index/vga.h.DADCA5B487311169.idx b/.cache/clangd/index/vga.h.DADCA5B487311169.idx new file mode 100644 index 0000000000000000000000000000000000000000..ceebc7139130632f99427e7bd8db17b918dfcbce GIT binary patch literal 1754 zcmYk54NOy46vuDtYiW7sK1$nHT8i4r5Jwn-4uwroP!MGq*0PWeB*K7*A{ifveCRea zCShb-#2DQMQ)Gb|F_N`1Wn%$H0&$KpKr7SfB2FMWV(?=NM%;Z5PF$1z+noP7_uluv zzqf63Qqqu`kPW$;%lG7!WpjiOJ^PlHl@x?42uW8GQr>XH(Npx34gR`uw!f*SV<@Sz zw&niN``3JIISuNM)~kh#w;tcxd_RcYYs` zRv0ni$v<88yuQsc^79|pr=F~K96C@uSa)@->R|KAq1~^w-?|j#`8H}<{$%vlovzdL zYQw_;+Hdu&O>f>?6>*?!W8AKHQ;U~ZJm?;N3eN{7eq7n|XT`+Vzn(lX`*g!Nt}eY#bIl5^d|^zuHoq zX`FoH_n{8G=Veptz4KYFA7*-AKYncg?GIBg$DMLEooTUf^>NL9u^;E}%6OE$bUGpH z(zH7)#c||*k^8&&?e3b8q*n2%(wXdiQd+Smr<~_~HYlk59Lfdnwy00yfpXkWVWnX&Lq0C5D zV)G)1W?684MOQx*Iqt0%h??1Ist%9^ZLi-V!?uelYXsuQY@YIgvY>rCud%w|wpupz>2$WqHvsI=E414trQ95MQ=|8O$bGaD!^+@E{F(`vedRA$+JRl!9Gl zr$oCzVUWYg)weB=iC)?y5EGmCr~XD+a9(eJud9n2Zx@J}*?Ous%7XT>zCdpOmx&jE zSTXw$RfzZ^`=E*TXpO!5fzdS+8fjk2H(kF~wKQ$HOL zh`?+O)rhj79aXoa%hMY9Od$Tu7C^Adf_8j;yO*cNnU>G z&HwSI@Rhm4%#k}*mY~Bj@}|(vaW?U zVi?bZ%d)b>E|wA71-^5*;@yK)Z8c)-0CuB&2?B_tY$b`}`3X|Ab=5{g}f F{0A8r(8mA( literal 0 HcmV?d00001 diff --git a/CMakeLists.txt b/CMakeLists.txt index d00baa8..f1b0d22 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,42 +1,29 @@ cmake_minimum_required(VERSION 3.13) set(CMAKE_C_STANDARD 11) -set(CMAKE_CXX_STANDARD 17) - -# initalize pico_sdk from installed location -# (note this can come from environment, CMake cache etc) -set(PICO_SDK_PATH "/home/ben/pico/pico-sdk") # Pull in Raspberry Pi Pico SDK (must be before project) +set(PICO_SDK_FETCH_FROM_GIT on) include(pico_sdk_import.cmake) +include_directories(${CMAKE_SOURCE_DIR}) + project(pico_vga C CXX ASM) - -add_executable(pico_vga) - -# Initialise the Raspberry Pi Pico SDK pico_sdk_init() -pico_set_program_name(pico_vga "pico_vga") -pico_set_program_version(pico_vga "0.1") +# pico_generate_pio_header(pico_vga ${CMAKE_CURRENT_LIST_DIR}/video.pio) -pico_enable_stdio_usb(pico_vga 1) -pico_enable_stdio_uart(pico_vga 0) - -pico_generate_pio_header(pico_vga ${CMAKE_CURRENT_LIST_DIR}/video.pio) - -target_sources(pico_vga PRIVATE - main.c - vga.c +add_executable(pico_vga + src/main.c ) # Add the standard library to the build -target_link_libraries(pico_vga - pico_stdlib - hardware_pio - hardware_dma - hardware_irq +target_link_libraries(pico_vga + pico_stdlib + # hardware_pio + # hardware_dma + # hardware_irq ) pico_add_extra_outputs(pico_vga) diff --git a/kicad/Product Logo.png b/designs/Product Logo.png similarity index 100% rename from kicad/Product Logo.png rename to designs/Product Logo.png diff --git a/kicad/Product Logo.psd b/designs/Product Logo.psd similarity index 100% rename from kicad/Product Logo.psd rename to designs/Product Logo.psd diff --git a/kicad/Product Version.png b/designs/Product Version.png similarity index 100% rename from kicad/Product Version.png rename to designs/Product Version.png diff --git a/kicad/Product Version.psd b/designs/Product Version.psd similarity index 100% rename from kicad/Product Version.psd rename to designs/Product Version.psd diff --git a/kicad/picovga/fp-info-cache b/designs/picovga/fp-info-cache similarity index 100% rename from kicad/picovga/fp-info-cache rename to designs/picovga/fp-info-cache diff --git a/kicad/picovga/fp-lib-table b/designs/picovga/fp-lib-table similarity index 100% rename from kicad/picovga/fp-lib-table rename to designs/picovga/fp-lib-table diff --git a/kicad/picovga/lib/kiwih_kicad.pretty/XM4L1542132.kicad_mod b/designs/picovga/lib/kiwih_kicad.pretty/XM4L1542132.kicad_mod similarity index 100% rename from kicad/picovga/lib/kiwih_kicad.pretty/XM4L1542132.kicad_mod rename to designs/picovga/lib/kiwih_kicad.pretty/XM4L1542132.kicad_mod diff --git a/kicad/picovga/lib/kiwih_kicad.pretty/name-logo.kicad_mod b/designs/picovga/lib/kiwih_kicad.pretty/name-logo.kicad_mod similarity index 100% rename from kicad/picovga/lib/kiwih_kicad.pretty/name-logo.kicad_mod rename to designs/picovga/lib/kiwih_kicad.pretty/name-logo.kicad_mod diff --git a/kicad/picovga/lib/kiwih_kicad.pretty/osh.kicad_mod b/designs/picovga/lib/kiwih_kicad.pretty/osh.kicad_mod similarity index 100% rename from kicad/picovga/lib/kiwih_kicad.pretty/osh.kicad_mod rename to designs/picovga/lib/kiwih_kicad.pretty/osh.kicad_mod diff --git a/kicad/picovga/lib/kiwih_kicad.pretty/product-logo.kicad_mod b/designs/picovga/lib/kiwih_kicad.pretty/product-logo.kicad_mod similarity index 100% rename from kicad/picovga/lib/kiwih_kicad.pretty/product-logo.kicad_mod rename to designs/picovga/lib/kiwih_kicad.pretty/product-logo.kicad_mod diff --git a/kicad/picovga/lib/kiwih_kicad.pretty/product-version.kicad_mod b/designs/picovga/lib/kiwih_kicad.pretty/product-version.kicad_mod similarity index 100% rename from kicad/picovga/lib/kiwih_kicad.pretty/product-version.kicad_mod rename to designs/picovga/lib/kiwih_kicad.pretty/product-version.kicad_mod diff --git a/kicad/picovga/lib/kiwih_kicad.pretty/raspberrypi-pico-module.kicad_mod b/designs/picovga/lib/kiwih_kicad.pretty/raspberrypi-pico-module.kicad_mod similarity index 100% rename from kicad/picovga/lib/kiwih_kicad.pretty/raspberrypi-pico-module.kicad_mod rename to designs/picovga/lib/kiwih_kicad.pretty/raspberrypi-pico-module.kicad_mod diff --git a/kicad/picovga/lib/pico_rp2040.dcm b/designs/picovga/lib/pico_rp2040.dcm similarity index 100% rename from kicad/picovga/lib/pico_rp2040.dcm rename to designs/picovga/lib/pico_rp2040.dcm diff --git a/kicad/picovga/lib/pico_rp2040.kicad_prl b/designs/picovga/lib/pico_rp2040.kicad_prl similarity index 100% rename from kicad/picovga/lib/pico_rp2040.kicad_prl rename to designs/picovga/lib/pico_rp2040.kicad_prl diff --git a/kicad/picovga/lib/pico_rp2040.kicad_pro b/designs/picovga/lib/pico_rp2040.kicad_pro similarity index 100% rename from kicad/picovga/lib/pico_rp2040.kicad_pro rename to designs/picovga/lib/pico_rp2040.kicad_pro diff --git a/kicad/picovga/lib/pico_rp2040.lib b/designs/picovga/lib/pico_rp2040.lib similarity index 100% rename from kicad/picovga/lib/pico_rp2040.lib rename to designs/picovga/lib/pico_rp2040.lib diff --git a/kicad/picovga/picovga b/designs/picovga/picovga similarity index 100% rename from kicad/picovga/picovga rename to designs/picovga/picovga diff --git a/kicad/picovga/picovga-B_Cu.gbr b/designs/picovga/picovga-B_Cu.gbr similarity index 100% rename from kicad/picovga/picovga-B_Cu.gbr rename to designs/picovga/picovga-B_Cu.gbr diff --git a/kicad/picovga/picovga-B_Mask.gbr b/designs/picovga/picovga-B_Mask.gbr similarity index 100% rename from kicad/picovga/picovga-B_Mask.gbr rename to designs/picovga/picovga-B_Mask.gbr diff --git a/kicad/picovga/picovga-B_Paste.gbr b/designs/picovga/picovga-B_Paste.gbr similarity index 100% rename from kicad/picovga/picovga-B_Paste.gbr rename to designs/picovga/picovga-B_Paste.gbr diff --git a/kicad/picovga/picovga-B_Silkscreen.gbr b/designs/picovga/picovga-B_Silkscreen.gbr similarity index 100% rename from kicad/picovga/picovga-B_Silkscreen.gbr rename to designs/picovga/picovga-B_Silkscreen.gbr diff --git a/kicad/picovga/picovga-Edge_Cuts.gbr b/designs/picovga/picovga-Edge_Cuts.gbr similarity index 100% rename from kicad/picovga/picovga-Edge_Cuts.gbr rename to designs/picovga/picovga-Edge_Cuts.gbr diff --git a/kicad/picovga/picovga-F_Cu.gbr b/designs/picovga/picovga-F_Cu.gbr similarity index 100% rename from kicad/picovga/picovga-F_Cu.gbr rename to designs/picovga/picovga-F_Cu.gbr diff --git a/kicad/picovga/picovga-F_Mask.gbr b/designs/picovga/picovga-F_Mask.gbr similarity index 100% rename from kicad/picovga/picovga-F_Mask.gbr rename to designs/picovga/picovga-F_Mask.gbr diff --git a/kicad/picovga/picovga-F_Paste.gbr b/designs/picovga/picovga-F_Paste.gbr similarity index 100% rename from kicad/picovga/picovga-F_Paste.gbr rename to designs/picovga/picovga-F_Paste.gbr diff --git a/kicad/picovga/picovga-F_Silkscreen.gbr b/designs/picovga/picovga-F_Silkscreen.gbr similarity index 100% rename from kicad/picovga/picovga-F_Silkscreen.gbr rename to designs/picovga/picovga-F_Silkscreen.gbr diff --git a/kicad/picovga/picovga-NPTH-drl_map.gbr b/designs/picovga/picovga-NPTH-drl_map.gbr similarity index 100% rename from kicad/picovga/picovga-NPTH-drl_map.gbr rename to designs/picovga/picovga-NPTH-drl_map.gbr diff --git a/kicad/picovga/picovga-NPTH.drl b/designs/picovga/picovga-NPTH.drl similarity index 100% rename from kicad/picovga/picovga-NPTH.drl rename to designs/picovga/picovga-NPTH.drl diff --git a/kicad/picovga/picovga-PTH-drl_map.gbr b/designs/picovga/picovga-PTH-drl_map.gbr similarity index 100% rename from kicad/picovga/picovga-PTH-drl_map.gbr rename to designs/picovga/picovga-PTH-drl_map.gbr diff --git a/kicad/picovga/picovga-PTH.drl b/designs/picovga/picovga-PTH.drl similarity index 100% rename from kicad/picovga/picovga-PTH.drl rename to designs/picovga/picovga-PTH.drl diff --git a/kicad/picovga/picovga-job.gbrjob b/designs/picovga/picovga-job.gbrjob similarity index 100% rename from kicad/picovga/picovga-job.gbrjob rename to designs/picovga/picovga-job.gbrjob diff --git a/kicad/picovga/picovga.kicad_pcb b/designs/picovga/picovga.kicad_pcb similarity index 100% rename from kicad/picovga/picovga.kicad_pcb rename to designs/picovga/picovga.kicad_pcb diff --git a/kicad/picovga/picovga.kicad_prl b/designs/picovga/picovga.kicad_prl similarity index 100% rename from kicad/picovga/picovga.kicad_prl rename to designs/picovga/picovga.kicad_prl diff --git a/kicad/picovga/picovga.kicad_pro b/designs/picovga/picovga.kicad_pro similarity index 100% rename from kicad/picovga/picovga.kicad_pro rename to designs/picovga/picovga.kicad_pro diff --git a/kicad/picovga/picovga.kicad_sch b/designs/picovga/picovga.kicad_sch similarity index 100% rename from kicad/picovga/picovga.kicad_sch rename to designs/picovga/picovga.kicad_sch diff --git a/kicad/picovga/picovga.zip b/designs/picovga/picovga.zip similarity index 100% rename from kicad/picovga/picovga.zip rename to designs/picovga/picovga.zip diff --git a/kicad/picovga/sym-lib-table b/designs/picovga/sym-lib-table similarity index 100% rename from kicad/picovga/sym-lib-table rename to designs/picovga/sym-lib-table diff --git a/main.c b/main.c deleted file mode 100644 index a11d8a7..0000000 --- a/main.c +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright Benjamin Kyd 2021 All Rights Reserved - -#include - -#include "pico/stdlib.h" -#include "hardware/clocks.h" -#include "hardware/pio.h" -#include "hardware/dma.h" -#include "hardware/irq.h" - -#include "pico/stdlib.h" - -#include "vga.h" - -// PIN LAYOUT -// PIN 0-3 RED DAC -// PIN 4-7 GREEN DAC -// PIN 8-11 BLUE DAC -// PIN 12 HSYNC -// PIN 13 VSYNC - -int main() -{ - stdio_init_all(); - sleep_ms(1400); - - gpio_init(PICO_DEFAULT_LED_PIN); - gpio_set_dir(PICO_DEFAULT_LED_PIN, GPIO_OUT); - gpio_put(PICO_DEFAULT_LED_PIN, 1); - - printf("VGA Initalizing...\n"); - - const video_timing_t video_timing = vga_timing_800x600_60; - vga_init(&video_timing); - - while(true) - { - tight_loop_contents(); - } -} diff --git a/makefile b/makefile new file mode 100644 index 0000000..abd9179 --- /dev/null +++ b/makefile @@ -0,0 +1,16 @@ +.ONESHELL: + +all: compile flash + +compile: + cd build && cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=on && make + +flash: compile + sudo mount -L RPI-RP2 /mnt + sudo cp build/pico_vga.uf2 /mnt + echo "Copied pico_vga.uf2 to pico" + +clean: + rm -rf build + mkdir build + diff --git a/pico_sdk_import.cmake b/pico_sdk_import.cmake index 28efe9e..65f8a6f 100644 --- a/pico_sdk_import.cmake +++ b/pico_sdk_import.cmake @@ -29,11 +29,22 @@ if (NOT PICO_SDK_PATH) if (PICO_SDK_FETCH_FROM_GIT_PATH) get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") endif () - FetchContent_Declare( - pico_sdk - GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk - GIT_TAG master - ) + # GIT_SUBMODULES_RECURSE was added in 3.17 + if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") + FetchContent_Declare( + pico_sdk + GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk + GIT_TAG master + GIT_SUBMODULES_RECURSE FALSE + ) + else () + FetchContent_Declare( + pico_sdk + GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk + GIT_TAG master + ) + endif () + if (NOT pico_sdk) message("Downloading Raspberry Pi Pico SDK") FetchContent_Populate(pico_sdk) diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..fcff439 --- /dev/null +++ b/src/main.c @@ -0,0 +1,17 @@ +// Copyright Benjamin Kyd 2021 All Rights Reserved + +// PIN LAYOUT +// PIN 0-3 RED DAC +// PIN 4-7 GREEN DAC +// PIN 8-11 BLUE DAC +// PIN 12 HSYNC +// PIN 13 VSYNC + +#include +#include "pico/stdlib.h" + +int main() { + setup_default_uart(); + printf("Hello, world!\n"); + return 0; +} diff --git a/vga.c b/src/vga.c similarity index 61% rename from vga.c rename to src/vga.c index 9890665..e6c63a8 100644 --- a/vga.c +++ b/src/vga.c @@ -11,28 +11,28 @@ #include "vga.h" #include "video.pio.h" -const video_timing_t vga_timing_800x600_60 = -{ - .clock_freq = 38400000, - - .h_active = 800, - .v_active = 600, - - .h_front_porch = 4 * 8, - .h_pulse = 10 * 8, - .h_total = 128 * 8, - .h_sync_polarity = 0, - - .v_front_porch = 1, - .v_pulse = 3, - .v_total = 625, - .v_sync_polarity = 0, - - .enable_clock = 0, - .clock_polarity = 0, - - .enable_den = 0 -}; +// const video_timing_t vga_timing_800x600_60 = +// { +// .clock_freq = 38400000, +// +// .h_active = 800, +// .v_active = 600, +// +// .h_front_porch = 4 * 8, +// .h_pulse = 10 * 8, +// .h_total = 128 * 8, +// .h_sync_polarity = 0, +// +// .v_front_porch = 1, +// .v_pulse = 3, +// .v_total = 625, +// .v_sync_polarity = 0, +// +// .enable_clock = 0, +// .clock_polarity = 0, +// +// .enable_den = 0 +// }; #define PIN_START 8 #define PIN_COUNT 2 diff --git a/src/vga.h b/src/vga.h new file mode 100644 index 0000000..41e7c4e --- /dev/null +++ b/src/vga.h @@ -0,0 +1,40 @@ +#ifndef PICOVGA_VGA_H_ +#define PICOVGA_VGA_H_ + +#include "pico/types.h" +// +// typedef struct video_timing { +// uint32_t clock_freq; +// +// uint16_t h_active; +// uint16_t v_active; +// +// uint16_t h_front_porch; +// uint16_t h_pulse; +// uint16_t h_total; +// uint8_t h_sync_polarity; +// +// uint16_t v_front_porch; +// uint16_t v_pulse; +// uint16_t v_total; +// uint8_t v_sync_polarity; +// +// uint8_t enable_clock; +// uint8_t clock_polarity; +// +// uint8_t enable_den; +// } video_timing_t; +// +// const video_timing_t vga_timing_800x600_60; +// +// // typedef struct video { +// // uint16_t* +// // } video_t; +// +// void vga_init(const video_timing_t* timing); +// +// void vga_start(); +// +// void vga_swap_buffers(); +// +#endif diff --git a/vga.h b/vga.h deleted file mode 100644 index 210c7ee..0000000 --- a/vga.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef PICOVGA_VGA_H_ -#define PICOVGA_VGA_H_ - -#include "pico/types.h" - -typedef struct video_timing { - uint32_t clock_freq; - - uint16_t h_active; - uint16_t v_active; - - uint16_t h_front_porch; - uint16_t h_pulse; - uint16_t h_total; - uint8_t h_sync_polarity; - - uint16_t v_front_porch; - uint16_t v_pulse; - uint16_t v_total; - uint8_t v_sync_polarity; - - uint8_t enable_clock; - uint8_t clock_polarity; - - uint8_t enable_den; -} video_timing_t; - -const video_timing_t vga_timing_800x600_60; - -// typedef struct video { -// uint16_t* -// } video_t; - -void vga_init(const video_timing_t* timing); - -void vga_start(); - -void vga_swap_buffers(); - -#endif diff --git a/vga.txt b/vga.txt deleted file mode 100644 index f851ea9..0000000 --- a/vga.txt +++ /dev/null @@ -1,5 +0,0 @@ -WHITE - VSYNC - -BLACK - HSYNC - -RED - VGA_R - -GREEN - VGA_G - -BLUE - VGA_B - \ No newline at end of file diff --git a/video.pio b/video.pio deleted file mode 100644 index 8f4ff7a..0000000 --- a/video.pio +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright Benjamin Kyd 2021 All Rights Reserved - -.program video - -; write 5 bits from the TX FIFO to the pin mask - -.wrap_target - out pins 2 -.wrap - -% c-sdk { -static inline void video_program_init(PIO pio, uint sm, uint offset, uint pin, float clk_div) { - pio_sm_config c = video_program_get_default_config(offset); - - // Map the state machine's OUT pin group to one pin, namely the `pin` - // parameter to this function. - sm_config_set_out_pins(&c, pin, 1); - // Set this pin's GPIO function (connect PIO to the pad) - pio_gpio_init(pio, pin); - // Set the pin direction to output at the PIO - pio_sm_set_consecutive_pindirs(pio, sm, pin, 1, true); - - // Load our configuration, and jump to the start of the program - pio_sm_init(pio, sm, offset, &c); - // Set the state machine running - pio_sm_set_enabled(pio, sm, true); -} -%}