From effe6d292725b23cf50a81c8bb524bdd46d888f9 Mon Sep 17 00:00:00 2001 From: makefu Date: Thu, 31 Jan 2019 09:20:39 +0100 Subject: add the disassembling dps8005 article --- content/extra/dps8005/10v-off.txt | 393 ++++++++++++++++++++++++++++++++ content/extra/dps8005/10v-on.txt | 393 ++++++++++++++++++++++++++++++++ content/extra/dps8005/15v-off.txt | 393 ++++++++++++++++++++++++++++++++ content/extra/dps8005/15v-on.txt | 393 ++++++++++++++++++++++++++++++++ content/extra/dps8005/5v-off.txt | 393 ++++++++++++++++++++++++++++++++ content/extra/dps8005/5v-on.txt | 393 ++++++++++++++++++++++++++++++++ content/img/dps8005/display-bottom.jpg | Bin 0 -> 1245478 bytes content/img/dps8005/display-top.jpg | Bin 0 -> 1195390 bytes content/img/dps8005/lower-bottom.jpg | Bin 0 -> 1517021 bytes content/img/dps8005/lower-top.jpg | Bin 0 -> 1245741 bytes content/img/dps8005/upper-bottom.jpg | Bin 0 -> 1311907 bytes content/img/dps8005/upper-top-text.jpg | Bin 0 -> 2048835 bytes content/img/dps8005/upper-top.jpg | Bin 0 -> 1656457 bytes content/posts/disassembling-dps8005.rst | 94 ++++++++ 14 files changed, 2452 insertions(+) create mode 100644 content/extra/dps8005/10v-off.txt create mode 100644 content/extra/dps8005/10v-on.txt create mode 100644 content/extra/dps8005/15v-off.txt create mode 100644 content/extra/dps8005/15v-on.txt create mode 100644 content/extra/dps8005/5v-off.txt create mode 100644 content/extra/dps8005/5v-on.txt create mode 100644 content/img/dps8005/display-bottom.jpg create mode 100644 content/img/dps8005/display-top.jpg create mode 100644 content/img/dps8005/lower-bottom.jpg create mode 100644 content/img/dps8005/lower-top.jpg create mode 100644 content/img/dps8005/upper-bottom.jpg create mode 100644 content/img/dps8005/upper-top-text.jpg create mode 100644 content/img/dps8005/upper-top.jpg create mode 100644 content/posts/disassembling-dps8005.rst diff --git a/content/extra/dps8005/10v-off.txt b/content/extra/dps8005/10v-off.txt new file mode 100644 index 0000000..73064a5 --- /dev/null +++ b/content/extra/dps8005/10v-off.txt @@ -0,0 +1,393 @@ +>>>> spi2 +SPI2 settings +CR2 : 0x00000347 [0x40003800] +CR1 : 0x00000000 [0x40003804] +SR : 0x00000002 [0x40003808] +DR : 0x000000ff [0x4000380c] +CRCPR : 0x00000007 [0x40003810] +RXCRCR : 0x00000000 [0x40003814] +TXCRCR : 0x00000000 [0x40003818] + +>>>> dma +DMA settings +ISR : 0x00000000 [0x40020000] +IFCR : 0x00000000 [0x40020004] +CCR1 : 0x00000000 [0x40020008] +CNDTR : 0x00000000 [0x40020084] +CPAR1 : 0x00000000 [0x40020010] +CMAR1 : 0x00000000 [0x40020014] +CCR2 : 0x00000000 [0x4002001c] +CNDTR : 0x00000000 [0x40020084] +CPAR2 : 0x00000000 [0x40020024] +CMAR2 : 0x00000000 [0x40020028] +CCR3 : 0x00000000 [0x40020030] +CNDTR : 0x00000000 [0x40020084] +CPAR3 : 0x00000000 [0x40020038] +CMAR3 : 0x00000000 [0x4002003c] +CCR4 : 0x00000000 [0x40020044] +CNDTR : 0x00000000 [0x40020084] +CPAR4 : 0x00000000 [0x4002004c] +CMAR4 : 0x00000000 [0x40020050] +CCR5 : 0x00000000 [0x40020058] +CNDTR : 0x00000000 [0x40020084] +CPAR5 : 0x00000000 [0x40020060] +CMAR5 : 0x00000000 [0x40020064] +CCR6 : 0x00000000 [0x4002006c] +CNDTR : 0x00000000 [0x40020084] +CPAR6 : 0x00000000 [0x40020074] +CMAR6 : 0x00000000 [0x40020078] +CCR7 : 0x00000000 [0x40020080] +CNDTR : 0x00000000 [0x40020084] +CPAR7 : 0x00000000 [0x40020088] + +>>>> spi1 +SPI1 settings +CR2 : 0x00000000 [0x40013000] +CR1 : 0x00000000 [0x40013004] +SR : 0x00000000 [0x40013008] +DR : 0x00000000 [0x4001300c] +CRCPR : 0x00000000 [0x40013010] +RXCRCR : 0x00000000 [0x40013014] +TXCRCR : 0x00000000 [0x40013018] + +>>>> tim4 +TIM4 settings +CR1 : 0x00000081 [0x40000800] +CR2 : 0x00000000 [0x40000804] +SMC : 0x00000000 [0x40000808] +DIER : 0x00000000 [0x4000080c] +SR : 0x0000001f [0x40000810] +EGR : 0x00000000 [0x40000814] +CCMR1 : 0x00006800 [0x40000818] +CCMR2 : 0x00000000 [0x4000081c] +CCER : 0x00000010 [0x40000820] +CNT : 0x000057ea [0x40000824] +PSC : 0x00000000 [0x40000828] +ARR : 0x00005dbf [0x4000082c] +RCR : 0x00000000 [0x40000830] +CCR1 : 0x00000000 [0x40000834] +CCR2 : 0x00004e20 [0x40000838] +CCR3 : 0x00000000 [0x4000083c] +CCR4 : 0x00000000 [0x40000840] +BDTR : 0x00000000 [0x40000844] +DCR : 0x00000000 [0x40000848] +DMAR : 0x00000081 [0x4000084c] + +>>>> dac +DAC settings +CR : 0x00030003 [0x40007400] +SWTRIGR : 0x00000000 [0x40007404] +DHR12R1 : 0x00000000 [0x40007408] +DHR12L1 : 0x00000000 [0x4000740c] +DHR8R1 : 0x00000000 [0x40007410] +DHR12R2 : 0x00000000 [0x40007414] +DHR12L2 : 0x00000000 [0x40007418] +DHR8R2 : 0x00000000 [0x4000741c] +DHR12RD : 0x00000000 [0x40007420] +DHR12LD : 0x00000000 [0x40007424] +DHR8RD : 0x00000000 [0x40007428] +DOR1 : 0x00000000 [0x4000742c] +DOR2 : 0x00000000 [0x40007430] +SR : 0x00000000 [0x40007434] + +>>>> gpio +// PA0 O 1 OD (50 Mhz) U7 +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO0); + +// PA1 I 1 PuPd M2 button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO1); +gpio_set(GPIOA, GPIO1); + +// PA2 I 1 PuPd SEL button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO2); +gpio_set(GPIOA, GPIO2); + +// PA3 I 1 PuPd M1 button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO3); +gpio_set(GPIOA, GPIO3); + +// PA4 I 0 An DAC1_OUT TL594.2 (1IN-) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO4); + +// PA5 I 0 An DAC2_OUT TL594.15 (2IN-) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO5); + +// PA6 I 1 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO6); +gpio_set(GPIOA, GPIO6); + +// PA7 I 0 An ADC1_IN7 R30-U2.7:V_OUT-B (measures Vout) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO7); + +// PA8 O 1 PP (50 Mhz) TFT.7 (not used by TFT) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO8); + +// PA9 O 0 AF-PP (50 Mhz) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO9); + +// PA10 I 0 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO10); +gpio_clear(GPIOA, GPIO10); + +// PA11 O 0 AF-PP (50 Mhz) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO11); + +// PA12 I 1 Flt +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PA13 I 0 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO13); +gpio_clear(GPIOA, GPIO13); + +// PA14 I 1 PuPd SWDCLK +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO14); +gpio_set(GPIOA, GPIO14); + +// PA15 O 1 OD (50 Mhz) R41-TL594.16 (2IN+) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO15); + +// PB0 I 0 An ADC1_IN8 R7/R2-R14-D4 (measures Vin) +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO0); + +// PB1 I 0 An ADC1_IN9 R33-U2.1:V_OUT-A (measures Iout) +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO1); + +// PB2 I 1 Flt +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PB3 O 1 OD (50 Mhz) R11-R17-R25-U2.5 (V_inB+) +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO3); + +// PB4 I 1 PuPd PWR button +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO4); +gpio_set(GPIOB, GPIO4); + +// PB5 I 1 PuPd Rotary press +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO5); +gpio_set(GPIOB, GPIO5); + +// PB6 I 1 Flt NC? +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PB7 O 0 AF-PP (50 Mhz) TIM4_CH2 +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO7); + +// PB8 I 1 PuPd Rotary enc +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO8); +gpio_set(GPIOB, GPIO8); + +// PB9 I 1 PuPd Rotary enc +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO9); +gpio_set(GPIOB, GPIO9); + +// PB10 I 1 Flt +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PB11 O 1 PP (50 Mhz) nPwrEnable R29-TFT.2 (TFT_VCC) +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO11); + +// PB12 O 1 PP (50 Mhz) SPI2_NSS TFT_RESET +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO12); + +// PB13 O 1 AF-PP (50 Mhz) SPI2_SCK +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO13); + +// PB14 O 1 PP (50 Mhz) SPI2_MISO TFT_A0 +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO14); + +// PB15 O 1 AF-PP (50 Mhz) SPI2_MOSI +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO15); + +// PC0 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO0); + +// PC1 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO1); + +// PC2 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PC3 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO3); + +// PC4 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO4); + +// PC5 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5); + +// PC6 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PC7 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO7); + +// PC8 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO8); + +// PC9 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO9); + +// PC10 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PC11 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO11); + +// PC12 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PC13 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO13); + +// PC14 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO14); + +// PC15 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO15); + +// PD0 I 1 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO0); + +// PD1 O 1 PP (50 Mhz) U7 +gpio_set_mode(GPIOD, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO1); + +// PD2 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PD3 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO3); + +// PD4 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO4); + +// PD5 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5); + +// PD6 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PD7 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO7); + +// PD8 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO8); + +// PD9 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO9); + +// PD10 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PD11 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO11); + +// PD12 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PD13 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO13); + +// PD14 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO14); + +// PD15 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO15); + + +>>>> gpiob +GPIOB settings +CRL : 0xb4887400 [0x40010c00] +CRH : 0xb3b33488 [0x40010c04] +IDR : 0x00007ff4 [0x40010c08] +ODR : 0x0000fb38 [0x40010c0c] +BSRR : 0x00000000 [0x40010c10] +BRR : 0x00000000 [0x40010c14] +LCKR : 0x00000000 [0x40010c18] + +>>>> gpioc +GPIOC settings +CRL : 0x44444444 [0x40011000] +CRH : 0x44444444 [0x40011004] +IDR : 0x00000000 [0x40011008] +ODR : 0x00000000 [0x4001100c] +BSRR : 0x00000000 [0x40011010] +BRR : 0x00000000 [0x40011014] +LCKR : 0x00000000 [0x40011018] + +>>>> gpioa +GPIOA settings +CRL : 0x08008887 [0x40010800] +CRH : 0x7884b8b3 [0x40010804] +IDR : 0x0000534f [0x40010808] +ODR : 0x0000a14f [0x4001080c] +BSRR : 0x00000000 [0x40010810] +BRR : 0x00000000 [0x40010814] +LCKR : 0x00000000 [0x40010818] + +>>>> gpiod +GPIOD settings +CRL : 0x44444434 [0x40011400] +CRH : 0x44444444 [0x40011404] +IDR : 0x00000003 [0x40011408] +ODR : 0x00000002 [0x4001140c] +BSRR : 0x00000000 [0x40011410] +BRR : 0x00000000 [0x40011414] +LCKR : 0x00000000 [0x40011418] + +>>>> adc1 +ADC1 settings +SR : 0x00000010 [0x40012400] +CR1 : 0x00000000 [0x40012404] +CR2 : 0x009e0001 [0x40012408] +SMPR1 : 0x00000000 [0x4001240c] +SMPR2 : 0x36c00000 [0x40012410] +JOFR1 : 0x00000000 [0x40012414] +JOFR2 : 0x00000000 [0x40012418] +JOFR3 : 0x00000000 [0x4001241c] +JOFR4 : 0x00000000 [0x40012420] +HTR : 0x00000fff [0x40012424] +LTR : 0x00000000 [0x40012428] +SQR1 : 0x00000000 [0x4001242c] +SQR2 : 0x00000000 [0x40012430] +SQR3 : 0x00000008 [0x40012434] +JSQR : 0x00000000 [0x40012438] +JDR1 : 0x00000000 [0x4001243c] +JDR2 : 0x00000000 [0x40012440] +JDR3 : 0x00000000 [0x40012444] +JDR4 : 0x00000000 [0x40012448] +DR : 0x00000312 [0x4001244c] + +>>>> afio +AFIO settings +EVCR : 0x00000000 [0x40010000] +MAPR : 0x02008000 [0x40010004] +EXTICR1 : 0x00000000 [0x40010008] +EXTICR2 : 0x00000011 [0x4001000c] +EXTICR3 : 0x00000011 [0x40010010] +EXTICR4 : 0x00000000 [0x40010014] +MAPR2 : 0x00000000 [0x40010018] + +>>>> exti +EXTI settings +IMR : 0x0000033e [0x40010400] +EMR : 0x00000000 [0x40010404] +RTSR : 0x00000300 [0x40010408] +FTSR : 0x0000033e [0x4001040c] +SWIER : 0x00000000 [0x40010410] +PR : 0x00000000 [0x40010414] + +>>>> rcc +RCC settings +CR : 0x03003d83 [0x40021000] +CFGR : 0x0410000a [0x40021004] +CIR : 0x00000000 [0x40021008] +APB2RSTR : 0x00000000 [0x4002100c] +APB1RSTR : 0x00000000 [0x40021010] +AHBENR : 0x00000014 [0x40021014] +APB2ENR : 0x00004a2d [0x40021018] +APB1ENR : 0x20004006 [0x4002101c] +BDCR : 0x00000000 [0x40021020] +CSR : 0x0c000000 [0x40021024] +CFGR2 : 0x00000000 [0x4002102c] + diff --git a/content/extra/dps8005/10v-on.txt b/content/extra/dps8005/10v-on.txt new file mode 100644 index 0000000..0ae72e0 --- /dev/null +++ b/content/extra/dps8005/10v-on.txt @@ -0,0 +1,393 @@ +>>>> spi2 +SPI2 settings +CR2 : 0x00000347 [0x40003800] +CR1 : 0x00000000 [0x40003804] +SR : 0x00000003 [0x40003808] +DR : 0x000000ff [0x4000380c] +CRCPR : 0x00000007 [0x40003810] +RXCRCR : 0x00000000 [0x40003814] +TXCRCR : 0x00000000 [0x40003818] + +>>>> dma +DMA settings +ISR : 0x00000000 [0x40020000] +IFCR : 0x00000000 [0x40020004] +CCR1 : 0x00000000 [0x40020008] +CNDTR : 0x00000000 [0x40020084] +CPAR1 : 0x00000000 [0x40020010] +CMAR1 : 0x00000000 [0x40020014] +CCR2 : 0x00000000 [0x4002001c] +CNDTR : 0x00000000 [0x40020084] +CPAR2 : 0x00000000 [0x40020024] +CMAR2 : 0x00000000 [0x40020028] +CCR3 : 0x00000000 [0x40020030] +CNDTR : 0x00000000 [0x40020084] +CPAR3 : 0x00000000 [0x40020038] +CMAR3 : 0x00000000 [0x4002003c] +CCR4 : 0x00000000 [0x40020044] +CNDTR : 0x00000000 [0x40020084] +CPAR4 : 0x00000000 [0x4002004c] +CMAR4 : 0x00000000 [0x40020050] +CCR5 : 0x00000000 [0x40020058] +CNDTR : 0x00000000 [0x40020084] +CPAR5 : 0x00000000 [0x40020060] +CMAR5 : 0x00000000 [0x40020064] +CCR6 : 0x00000000 [0x4002006c] +CNDTR : 0x00000000 [0x40020084] +CPAR6 : 0x00000000 [0x40020074] +CMAR6 : 0x00000000 [0x40020078] +CCR7 : 0x00000000 [0x40020080] +CNDTR : 0x00000000 [0x40020084] +CPAR7 : 0x00000000 [0x40020088] + +>>>> spi1 +SPI1 settings +CR2 : 0x00000000 [0x40013000] +CR1 : 0x00000000 [0x40013004] +SR : 0x00000000 [0x40013008] +DR : 0x00000000 [0x4001300c] +CRCPR : 0x00000000 [0x40013010] +RXCRCR : 0x00000000 [0x40013014] +TXCRCR : 0x00000000 [0x40013018] + +>>>> tim4 +TIM4 settings +CR1 : 0x00000081 [0x40000800] +CR2 : 0x00000000 [0x40000804] +SMC : 0x00000000 [0x40000808] +DIER : 0x00000000 [0x4000080c] +SR : 0x0000001f [0x40000810] +EGR : 0x00000000 [0x40000814] +CCMR1 : 0x00006800 [0x40000818] +CCMR2 : 0x00000000 [0x4000081c] +CCER : 0x00000010 [0x40000820] +CNT : 0x00005091 [0x40000824] +PSC : 0x00000000 [0x40000828] +ARR : 0x00005dbf [0x4000082c] +RCR : 0x00000000 [0x40000830] +CCR1 : 0x00000000 [0x40000834] +CCR2 : 0x00004e20 [0x40000838] +CCR3 : 0x00000000 [0x4000083c] +CCR4 : 0x00000000 [0x40000840] +BDTR : 0x00000000 [0x40000844] +DCR : 0x00000000 [0x40000848] +DMAR : 0x00000081 [0x4000084c] + +>>>> dac +DAC settings +CR : 0x00030003 [0x40007400] +SWTRIGR : 0x00000000 [0x40007404] +DHR12R1 : 0x00000000 [0x40007408] +DHR12L1 : 0x00000000 [0x4000740c] +DHR8R1 : 0x00000000 [0x40007410] +DHR12R2 : 0x00000e1c [0x40007414] +DHR12L2 : 0x0000e1c0 [0x40007418] +DHR8R2 : 0x000000e1 [0x4000741c] +DHR12RD : 0x0e1c0000 [0x40007420] +DHR12LD : 0xe1c00000 [0x40007424] +DHR8RD : 0x0000e100 [0x40007428] +DOR1 : 0x00000000 [0x4000742c] +DOR2 : 0x00000e1c [0x40007430] +SR : 0x00000000 [0x40007434] + +>>>> gpio +// PA0 O 1 OD (50 Mhz) U7 +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO0); + +// PA1 I 1 PuPd M2 button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO1); +gpio_set(GPIOA, GPIO1); + +// PA2 I 1 PuPd SEL button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO2); +gpio_set(GPIOA, GPIO2); + +// PA3 I 1 PuPd M1 button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO3); +gpio_set(GPIOA, GPIO3); + +// PA4 I 0 An DAC1_OUT TL594.2 (1IN-) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO4); + +// PA5 I 0 An DAC2_OUT TL594.15 (2IN-) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO5); + +// PA6 I 1 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO6); +gpio_set(GPIOA, GPIO6); + +// PA7 I 0 An ADC1_IN7 R30-U2.7:V_OUT-B (measures Vout) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO7); + +// PA8 O 0 PP (50 Mhz) TFT.7 (not used by TFT) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO8); + +// PA9 O 0 AF-PP (50 Mhz) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO9); + +// PA10 I 0 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO10); +gpio_clear(GPIOA, GPIO10); + +// PA11 O 0 AF-PP (50 Mhz) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO11); + +// PA12 I 1 Flt +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PA13 I 0 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO13); +gpio_clear(GPIOA, GPIO13); + +// PA14 I 1 PuPd SWDCLK +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO14); +gpio_set(GPIOA, GPIO14); + +// PA15 O 1 OD (50 Mhz) R41-TL594.16 (2IN+) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO15); + +// PB0 I 0 An ADC1_IN8 R7/R2-R14-D4 (measures Vin) +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO0); + +// PB1 I 0 An ADC1_IN9 R33-U2.1:V_OUT-A (measures Iout) +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO1); + +// PB2 I 1 Flt +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PB3 O 1 OD (50 Mhz) R11-R17-R25-U2.5 (V_inB+) +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO3); + +// PB4 I 1 PuPd PWR button +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO4); +gpio_set(GPIOB, GPIO4); + +// PB5 I 1 PuPd Rotary press +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO5); +gpio_set(GPIOB, GPIO5); + +// PB6 I 1 Flt NC? +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PB7 O 0 AF-PP (50 Mhz) TIM4_CH2 +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO7); + +// PB8 I 1 PuPd Rotary enc +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO8); +gpio_set(GPIOB, GPIO8); + +// PB9 I 1 PuPd Rotary enc +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO9); +gpio_set(GPIOB, GPIO9); + +// PB10 I 1 Flt +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PB11 O 0 PP (50 Mhz) nPwrEnable R29-TFT.2 (TFT_VCC) +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO11); + +// PB12 O 1 PP (50 Mhz) SPI2_NSS TFT_RESET +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO12); + +// PB13 O 1 AF-PP (50 Mhz) SPI2_SCK +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO13); + +// PB14 O 1 PP (50 Mhz) SPI2_MISO TFT_A0 +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO14); + +// PB15 O 1 AF-PP (50 Mhz) SPI2_MOSI +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO15); + +// PC0 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO0); + +// PC1 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO1); + +// PC2 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PC3 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO3); + +// PC4 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO4); + +// PC5 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5); + +// PC6 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PC7 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO7); + +// PC8 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO8); + +// PC9 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO9); + +// PC10 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PC11 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO11); + +// PC12 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PC13 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO13); + +// PC14 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO14); + +// PC15 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO15); + +// PD0 I 1 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO0); + +// PD1 O 1 PP (50 Mhz) U7 +gpio_set_mode(GPIOD, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO1); + +// PD2 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PD3 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO3); + +// PD4 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO4); + +// PD5 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5); + +// PD6 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PD7 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO7); + +// PD8 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO8); + +// PD9 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO9); + +// PD10 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PD11 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO11); + +// PD12 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PD13 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO13); + +// PD14 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO14); + +// PD15 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO15); + + +>>>> gpiob +GPIOB settings +CRL : 0xb4887400 [0x40010c00] +CRH : 0xb3b33488 [0x40010c04] +IDR : 0x000077f4 [0x40010c08] +ODR : 0x0000f338 [0x40010c0c] +BSRR : 0x00000000 [0x40010c10] +BRR : 0x00000000 [0x40010c14] +LCKR : 0x00000000 [0x40010c18] + +>>>> gpioc +GPIOC settings +CRL : 0x44444444 [0x40011000] +CRH : 0x44444444 [0x40011004] +IDR : 0x00000000 [0x40011008] +ODR : 0x00000000 [0x4001100c] +BSRR : 0x00000000 [0x40011010] +BRR : 0x00000000 [0x40011014] +LCKR : 0x00000000 [0x40011018] + +>>>> gpioa +GPIOA settings +CRL : 0x08008887 [0x40010800] +CRH : 0x7884b8b3 [0x40010804] +IDR : 0x00005a4f [0x40010808] +ODR : 0x0000a04f [0x4001080c] +BSRR : 0x00000000 [0x40010810] +BRR : 0x00000000 [0x40010814] +LCKR : 0x00000000 [0x40010818] + +>>>> gpiod +GPIOD settings +CRL : 0x44444434 [0x40011400] +CRH : 0x44444444 [0x40011404] +IDR : 0x00000003 [0x40011408] +ODR : 0x00000002 [0x4001140c] +BSRR : 0x00000000 [0x40011410] +BRR : 0x00000000 [0x40011414] +LCKR : 0x00000000 [0x40011418] + +>>>> adc1 +ADC1 settings +SR : 0x00000010 [0x40012400] +CR1 : 0x00000000 [0x40012404] +CR2 : 0x009e0001 [0x40012408] +SMPR1 : 0x00000000 [0x4001240c] +SMPR2 : 0x36c00000 [0x40012410] +JOFR1 : 0x00000000 [0x40012414] +JOFR2 : 0x00000000 [0x40012418] +JOFR3 : 0x00000000 [0x4001241c] +JOFR4 : 0x00000000 [0x40012420] +HTR : 0x00000fff [0x40012424] +LTR : 0x00000000 [0x40012428] +SQR1 : 0x00000000 [0x4001242c] +SQR2 : 0x00000000 [0x40012430] +SQR3 : 0x00000008 [0x40012434] +JSQR : 0x00000000 [0x40012438] +JDR1 : 0x00000000 [0x4001243c] +JDR2 : 0x00000000 [0x40012440] +JDR3 : 0x00000000 [0x40012444] +JDR4 : 0x00000000 [0x40012448] +DR : 0x00000313 [0x4001244c] + +>>>> afio +AFIO settings +EVCR : 0x00000000 [0x40010000] +MAPR : 0x02008000 [0x40010004] +EXTICR1 : 0x00000000 [0x40010008] +EXTICR2 : 0x00000011 [0x4001000c] +EXTICR3 : 0x00000011 [0x40010010] +EXTICR4 : 0x00000000 [0x40010014] +MAPR2 : 0x00000000 [0x40010018] + +>>>> exti +EXTI settings +IMR : 0x0000033e [0x40010400] +EMR : 0x00000000 [0x40010404] +RTSR : 0x00000300 [0x40010408] +FTSR : 0x0000033e [0x4001040c] +SWIER : 0x00000000 [0x40010410] +PR : 0x00000000 [0x40010414] + +>>>> rcc +RCC settings +CR : 0x03003d83 [0x40021000] +CFGR : 0x0410000a [0x40021004] +CIR : 0x00000000 [0x40021008] +APB2RSTR : 0x00000000 [0x4002100c] +APB1RSTR : 0x00000000 [0x40021010] +AHBENR : 0x00000014 [0x40021014] +APB2ENR : 0x00004a2d [0x40021018] +APB1ENR : 0x20004006 [0x4002101c] +BDCR : 0x00000000 [0x40021020] +CSR : 0x0c000000 [0x40021024] +CFGR2 : 0x00000000 [0x4002102c] + diff --git a/content/extra/dps8005/15v-off.txt b/content/extra/dps8005/15v-off.txt new file mode 100644 index 0000000..20e2a2e --- /dev/null +++ b/content/extra/dps8005/15v-off.txt @@ -0,0 +1,393 @@ +>>>> spi2 +SPI2 settings +CR2 : 0x00000347 [0x40003800] +CR1 : 0x00000000 [0x40003804] +SR : 0x00000003 [0x40003808] +DR : 0x000000ff [0x4000380c] +CRCPR : 0x00000007 [0x40003810] +RXCRCR : 0x00000000 [0x40003814] +TXCRCR : 0x00000000 [0x40003818] + +>>>> dma +DMA settings +ISR : 0x00000000 [0x40020000] +IFCR : 0x00000000 [0x40020004] +CCR1 : 0x00000000 [0x40020008] +CNDTR : 0x00000000 [0x40020084] +CPAR1 : 0x00000000 [0x40020010] +CMAR1 : 0x00000000 [0x40020014] +CCR2 : 0x00000000 [0x4002001c] +CNDTR : 0x00000000 [0x40020084] +CPAR2 : 0x00000000 [0x40020024] +CMAR2 : 0x00000000 [0x40020028] +CCR3 : 0x00000000 [0x40020030] +CNDTR : 0x00000000 [0x40020084] +CPAR3 : 0x00000000 [0x40020038] +CMAR3 : 0x00000000 [0x4002003c] +CCR4 : 0x00000000 [0x40020044] +CNDTR : 0x00000000 [0x40020084] +CPAR4 : 0x00000000 [0x4002004c] +CMAR4 : 0x00000000 [0x40020050] +CCR5 : 0x00000000 [0x40020058] +CNDTR : 0x00000000 [0x40020084] +CPAR5 : 0x00000000 [0x40020060] +CMAR5 : 0x00000000 [0x40020064] +CCR6 : 0x00000000 [0x4002006c] +CNDTR : 0x00000000 [0x40020084] +CPAR6 : 0x00000000 [0x40020074] +CMAR6 : 0x00000000 [0x40020078] +CCR7 : 0x00000000 [0x40020080] +CNDTR : 0x00000000 [0x40020084] +CPAR7 : 0x00000000 [0x40020088] + +>>>> spi1 +SPI1 settings +CR2 : 0x00000000 [0x40013000] +CR1 : 0x00000000 [0x40013004] +SR : 0x00000000 [0x40013008] +DR : 0x00000000 [0x4001300c] +CRCPR : 0x00000000 [0x40013010] +RXCRCR : 0x00000000 [0x40013014] +TXCRCR : 0x00000000 [0x40013018] + +>>>> tim4 +TIM4 settings +CR1 : 0x00000081 [0x40000800] +CR2 : 0x00000000 [0x40000804] +SMC : 0x00000000 [0x40000808] +DIER : 0x00000000 [0x4000080c] +SR : 0x0000001f [0x40000810] +EGR : 0x00000000 [0x40000814] +CCMR1 : 0x00006800 [0x40000818] +CCMR2 : 0x00000000 [0x4000081c] +CCER : 0x00000010 [0x40000820] +CNT : 0x00004e5a [0x40000824] +PSC : 0x00000000 [0x40000828] +ARR : 0x00005dbf [0x4000082c] +RCR : 0x00000000 [0x40000830] +CCR1 : 0x00000000 [0x40000834] +CCR2 : 0x00004e20 [0x40000838] +CCR3 : 0x00000000 [0x4000083c] +CCR4 : 0x00000000 [0x40000840] +BDTR : 0x00000000 [0x40000844] +DCR : 0x00000000 [0x40000848] +DMAR : 0x00000081 [0x4000084c] + +>>>> dac +DAC settings +CR : 0x00030003 [0x40007400] +SWTRIGR : 0x00000000 [0x40007404] +DHR12R1 : 0x00000000 [0x40007408] +DHR12L1 : 0x00000000 [0x4000740c] +DHR8R1 : 0x00000000 [0x40007410] +DHR12R2 : 0x00000000 [0x40007414] +DHR12L2 : 0x00000000 [0x40007418] +DHR8R2 : 0x00000000 [0x4000741c] +DHR12RD : 0x00000000 [0x40007420] +DHR12LD : 0x00000000 [0x40007424] +DHR8RD : 0x00000000 [0x40007428] +DOR1 : 0x00000000 [0x4000742c] +DOR2 : 0x00000000 [0x40007430] +SR : 0x00000000 [0x40007434] + +>>>> gpio +// PA0 O 1 OD (50 Mhz) U7 +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO0); + +// PA1 I 1 PuPd M2 button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO1); +gpio_set(GPIOA, GPIO1); + +// PA2 I 1 PuPd SEL button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO2); +gpio_set(GPIOA, GPIO2); + +// PA3 I 1 PuPd M1 button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO3); +gpio_set(GPIOA, GPIO3); + +// PA4 I 0 An DAC1_OUT TL594.2 (1IN-) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO4); + +// PA5 I 0 An DAC2_OUT TL594.15 (2IN-) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO5); + +// PA6 I 1 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO6); +gpio_set(GPIOA, GPIO6); + +// PA7 I 0 An ADC1_IN7 R30-U2.7:V_OUT-B (measures Vout) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO7); + +// PA8 O 0 PP (50 Mhz) TFT.7 (not used by TFT) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO8); + +// PA9 O 0 AF-PP (50 Mhz) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO9); + +// PA10 I 0 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO10); +gpio_clear(GPIOA, GPIO10); + +// PA11 O 0 AF-PP (50 Mhz) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO11); + +// PA12 I 1 Flt +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PA13 I 0 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO13); +gpio_clear(GPIOA, GPIO13); + +// PA14 I 1 PuPd SWDCLK +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO14); +gpio_set(GPIOA, GPIO14); + +// PA15 O 1 OD (50 Mhz) R41-TL594.16 (2IN+) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO15); + +// PB0 I 0 An ADC1_IN8 R7/R2-R14-D4 (measures Vin) +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO0); + +// PB1 I 0 An ADC1_IN9 R33-U2.1:V_OUT-A (measures Iout) +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO1); + +// PB2 I 1 Flt +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PB3 O 1 OD (50 Mhz) R11-R17-R25-U2.5 (V_inB+) +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO3); + +// PB4 I 1 PuPd PWR button +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO4); +gpio_set(GPIOB, GPIO4); + +// PB5 I 1 PuPd Rotary press +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO5); +gpio_set(GPIOB, GPIO5); + +// PB6 I 1 Flt NC? +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PB7 O 0 AF-PP (50 Mhz) TIM4_CH2 +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO7); + +// PB8 I 1 PuPd Rotary enc +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO8); +gpio_set(GPIOB, GPIO8); + +// PB9 I 1 PuPd Rotary enc +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO9); +gpio_set(GPIOB, GPIO9); + +// PB10 I 1 Flt +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PB11 O 1 PP (50 Mhz) nPwrEnable R29-TFT.2 (TFT_VCC) +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO11); + +// PB12 O 1 PP (50 Mhz) SPI2_NSS TFT_RESET +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO12); + +// PB13 O 1 AF-PP (50 Mhz) SPI2_SCK +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO13); + +// PB14 O 1 PP (50 Mhz) SPI2_MISO TFT_A0 +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO14); + +// PB15 O 1 AF-PP (50 Mhz) SPI2_MOSI +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO15); + +// PC0 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO0); + +// PC1 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO1); + +// PC2 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PC3 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO3); + +// PC4 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO4); + +// PC5 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5); + +// PC6 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PC7 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO7); + +// PC8 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO8); + +// PC9 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO9); + +// PC10 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PC11 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO11); + +// PC12 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PC13 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO13); + +// PC14 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO14); + +// PC15 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO15); + +// PD0 I 1 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO0); + +// PD1 O 1 PP (50 Mhz) U7 +gpio_set_mode(GPIOD, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO1); + +// PD2 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PD3 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO3); + +// PD4 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO4); + +// PD5 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5); + +// PD6 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PD7 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO7); + +// PD8 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO8); + +// PD9 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO9); + +// PD10 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PD11 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO11); + +// PD12 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PD13 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO13); + +// PD14 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO14); + +// PD15 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO15); + + +>>>> gpiob +GPIOB settings +CRL : 0xb4887400 [0x40010c00] +CRH : 0xb3b33488 [0x40010c04] +IDR : 0x00007ff4 [0x40010c08] +ODR : 0x0000fb38 [0x40010c0c] +BSRR : 0x00000000 [0x40010c10] +BRR : 0x00000000 [0x40010c14] +LCKR : 0x00000000 [0x40010c18] + +>>>> gpioc +GPIOC settings +CRL : 0x44444444 [0x40011000] +CRH : 0x44444444 [0x40011004] +IDR : 0x00000000 [0x40011008] +ODR : 0x00000000 [0x4001100c] +BSRR : 0x00000000 [0x40011010] +BRR : 0x00000000 [0x40011014] +LCKR : 0x00000000 [0x40011018] + +>>>> gpioa +GPIOA settings +CRL : 0x08008887 [0x40010800] +CRH : 0x7884b8b3 [0x40010804] +IDR : 0x0000524f [0x40010808] +ODR : 0x0000a04f [0x4001080c] +BSRR : 0x00000000 [0x40010810] +BRR : 0x00000000 [0x40010814] +LCKR : 0x00000000 [0x40010818] + +>>>> gpiod +GPIOD settings +CRL : 0x44444434 [0x40011400] +CRH : 0x44444444 [0x40011404] +IDR : 0x00000003 [0x40011408] +ODR : 0x00000002 [0x4001140c] +BSRR : 0x00000000 [0x40011410] +BRR : 0x00000000 [0x40011414] +LCKR : 0x00000000 [0x40011418] + +>>>> adc1 +ADC1 settings +SR : 0x00000010 [0x40012400] +CR1 : 0x00000000 [0x40012404] +CR2 : 0x009e0001 [0x40012408] +SMPR1 : 0x00000000 [0x4001240c] +SMPR2 : 0x36c00000 [0x40012410] +JOFR1 : 0x00000000 [0x40012414] +JOFR2 : 0x00000000 [0x40012418] +JOFR3 : 0x00000000 [0x4001241c] +JOFR4 : 0x00000000 [0x40012420] +HTR : 0x00000fff [0x40012424] +LTR : 0x00000000 [0x40012428] +SQR1 : 0x00000000 [0x4001242c] +SQR2 : 0x00000000 [0x40012430] +SQR3 : 0x00000008 [0x40012434] +JSQR : 0x00000000 [0x40012438] +JDR1 : 0x00000000 [0x4001243c] +JDR2 : 0x00000000 [0x40012440] +JDR3 : 0x00000000 [0x40012444] +JDR4 : 0x00000000 [0x40012448] +DR : 0x00000313 [0x4001244c] + +>>>> afio +AFIO settings +EVCR : 0x00000000 [0x40010000] +MAPR : 0x02008000 [0x40010004] +EXTICR1 : 0x00000000 [0x40010008] +EXTICR2 : 0x00000011 [0x4001000c] +EXTICR3 : 0x00000011 [0x40010010] +EXTICR4 : 0x00000000 [0x40010014] +MAPR2 : 0x00000000 [0x40010018] + +>>>> exti +EXTI settings +IMR : 0x0000033e [0x40010400] +EMR : 0x00000000 [0x40010404] +RTSR : 0x00000300 [0x40010408] +FTSR : 0x0000033e [0x4001040c] +SWIER : 0x00000000 [0x40010410] +PR : 0x00000000 [0x40010414] + +>>>> rcc +RCC settings +CR : 0x03003d83 [0x40021000] +CFGR : 0x0410000a [0x40021004] +CIR : 0x00000000 [0x40021008] +APB2RSTR : 0x00000000 [0x4002100c] +APB1RSTR : 0x00000000 [0x40021010] +AHBENR : 0x00000014 [0x40021014] +APB2ENR : 0x00004a2d [0x40021018] +APB1ENR : 0x20004006 [0x4002101c] +BDCR : 0x00000000 [0x40021020] +CSR : 0x0c000000 [0x40021024] +CFGR2 : 0x00000000 [0x4002102c] + diff --git a/content/extra/dps8005/15v-on.txt b/content/extra/dps8005/15v-on.txt new file mode 100644 index 0000000..4507e45 --- /dev/null +++ b/content/extra/dps8005/15v-on.txt @@ -0,0 +1,393 @@ +>>>> spi2 +SPI2 settings +CR2 : 0x00000347 [0x40003800] +CR1 : 0x00000000 [0x40003804] +SR : 0x00000003 [0x40003808] +DR : 0x000000ff [0x4000380c] +CRCPR : 0x00000007 [0x40003810] +RXCRCR : 0x00000000 [0x40003814] +TXCRCR : 0x00000000 [0x40003818] + +>>>> dma +DMA settings +ISR : 0x00000000 [0x40020000] +IFCR : 0x00000000 [0x40020004] +CCR1 : 0x00000000 [0x40020008] +CNDTR : 0x00000000 [0x40020084] +CPAR1 : 0x00000000 [0x40020010] +CMAR1 : 0x00000000 [0x40020014] +CCR2 : 0x00000000 [0x4002001c] +CNDTR : 0x00000000 [0x40020084] +CPAR2 : 0x00000000 [0x40020024] +CMAR2 : 0x00000000 [0x40020028] +CCR3 : 0x00000000 [0x40020030] +CNDTR : 0x00000000 [0x40020084] +CPAR3 : 0x00000000 [0x40020038] +CMAR3 : 0x00000000 [0x4002003c] +CCR4 : 0x00000000 [0x40020044] +CNDTR : 0x00000000 [0x40020084] +CPAR4 : 0x00000000 [0x4002004c] +CMAR4 : 0x00000000 [0x40020050] +CCR5 : 0x00000000 [0x40020058] +CNDTR : 0x00000000 [0x40020084] +CPAR5 : 0x00000000 [0x40020060] +CMAR5 : 0x00000000 [0x40020064] +CCR6 : 0x00000000 [0x4002006c] +CNDTR : 0x00000000 [0x40020084] +CPAR6 : 0x00000000 [0x40020074] +CMAR6 : 0x00000000 [0x40020078] +CCR7 : 0x00000000 [0x40020080] +CNDTR : 0x00000000 [0x40020084] +CPAR7 : 0x00000000 [0x40020088] + +>>>> spi1 +SPI1 settings +CR2 : 0x00000000 [0x40013000] +CR1 : 0x00000000 [0x40013004] +SR : 0x00000000 [0x40013008] +DR : 0x00000000 [0x4001300c] +CRCPR : 0x00000000 [0x40013010] +RXCRCR : 0x00000000 [0x40013014] +TXCRCR : 0x00000000 [0x40013018] + +>>>> tim4 +TIM4 settings +CR1 : 0x00000081 [0x40000800] +CR2 : 0x00000000 [0x40000804] +SMC : 0x00000000 [0x40000808] +DIER : 0x00000000 [0x4000080c] +SR : 0x0000001f [0x40000810] +EGR : 0x00000000 [0x40000814] +CCMR1 : 0x00006800 [0x40000818] +CCMR2 : 0x00000000 [0x4000081c] +CCER : 0x00000010 [0x40000820] +CNT : 0x0000485c [0x40000824] +PSC : 0x00000000 [0x40000828] +ARR : 0x00005dbf [0x4000082c] +RCR : 0x00000000 [0x40000830] +CCR1 : 0x00000000 [0x40000834] +CCR2 : 0x00004e20 [0x40000838] +CCR3 : 0x00000000 [0x4000083c] +CCR4 : 0x00000000 [0x40000840] +BDTR : 0x00000000 [0x40000844] +DCR : 0x00000000 [0x40000848] +DMAR : 0x00000081 [0x4000084c] + +>>>> dac +DAC settings +CR : 0x00030003 [0x40007400] +SWTRIGR : 0x00000000 [0x40007404] +DHR12R1 : 0x00000000 [0x40007408] +DHR12L1 : 0x00000000 [0x4000740c] +DHR8R1 : 0x00000000 [0x40007410] +DHR12R2 : 0x00000e1c [0x40007414] +DHR12L2 : 0x0000e1c0 [0x40007418] +DHR8R2 : 0x000000e1 [0x4000741c] +DHR12RD : 0x0e1c0000 [0x40007420] +DHR12LD : 0xe1c00000 [0x40007424] +DHR8RD : 0x0000e100 [0x40007428] +DOR1 : 0x00000000 [0x4000742c] +DOR2 : 0x00000e1c [0x40007430] +SR : 0x00000000 [0x40007434] + +>>>> gpio +// PA0 O 1 OD (50 Mhz) U7 +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO0); + +// PA1 I 1 PuPd M2 button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO1); +gpio_set(GPIOA, GPIO1); + +// PA2 I 1 PuPd SEL button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO2); +gpio_set(GPIOA, GPIO2); + +// PA3 I 1 PuPd M1 button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO3); +gpio_set(GPIOA, GPIO3); + +// PA4 I 0 An DAC1_OUT TL594.2 (1IN-) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO4); + +// PA5 I 0 An DAC2_OUT TL594.15 (2IN-) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO5); + +// PA6 I 1 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO6); +gpio_set(GPIOA, GPIO6); + +// PA7 I 0 An ADC1_IN7 R30-U2.7:V_OUT-B (measures Vout) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO7); + +// PA8 O 0 PP (50 Mhz) TFT.7 (not used by TFT) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO8); + +// PA9 O 0 AF-PP (50 Mhz) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO9); + +// PA10 I 0 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO10); +gpio_clear(GPIOA, GPIO10); + +// PA11 O 0 AF-PP (50 Mhz) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO11); + +// PA12 I 1 Flt +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PA13 I 0 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO13); +gpio_clear(GPIOA, GPIO13); + +// PA14 I 1 PuPd SWDCLK +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO14); +gpio_set(GPIOA, GPIO14); + +// PA15 O 1 OD (50 Mhz) R41-TL594.16 (2IN+) +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO15); + +// PB0 I 0 An ADC1_IN8 R7/R2-R14-D4 (measures Vin) +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO0); + +// PB1 I 0 An ADC1_IN9 R33-U2.1:V_OUT-A (measures Iout) +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO1); + +// PB2 I 1 Flt +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PB3 O 1 OD (50 Mhz) R11-R17-R25-U2.5 (V_inB+) +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO3); + +// PB4 I 1 PuPd PWR button +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO4); +gpio_set(GPIOB, GPIO4); + +// PB5 I 1 PuPd Rotary press +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO5); +gpio_set(GPIOB, GPIO5); + +// PB6 I 1 Flt NC? +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PB7 O 0 AF-PP (50 Mhz) TIM4_CH2 +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO7); + +// PB8 I 1 PuPd Rotary enc +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO8); +gpio_set(GPIOB, GPIO8); + +// PB9 I 1 PuPd Rotary enc +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO9); +gpio_set(GPIOB, GPIO9); + +// PB10 I 1 Flt +gpio_set_mode(GPIOB, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PB11 O 0 PP (50 Mhz) nPwrEnable R29-TFT.2 (TFT_VCC) +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO11); + +// PB12 O 1 PP (50 Mhz) SPI2_NSS TFT_RESET +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO12); + +// PB13 O 1 AF-PP (50 Mhz) SPI2_SCK +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO13); + +// PB14 O 1 PP (50 Mhz) SPI2_MISO TFT_A0 +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO14); + +// PB15 O 1 AF-PP (50 Mhz) SPI2_MOSI +gpio_set_mode(GPIOB, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, GPIO15); + +// PC0 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO0); + +// PC1 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO1); + +// PC2 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PC3 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO3); + +// PC4 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO4); + +// PC5 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5); + +// PC6 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PC7 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO7); + +// PC8 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO8); + +// PC9 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO9); + +// PC10 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PC11 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO11); + +// PC12 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PC13 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO13); + +// PC14 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO14); + +// PC15 I 0 Flt +gpio_set_mode(GPIOC, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO15); + +// PD0 I 1 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO0); + +// PD1 O 1 PP (50 Mhz) U7 +gpio_set_mode(GPIOD, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO1); + +// PD2 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO2); + +// PD3 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO3); + +// PD4 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO4); + +// PD5 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO5); + +// PD6 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO6); + +// PD7 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO7); + +// PD8 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO8); + +// PD9 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO9); + +// PD10 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO10); + +// PD11 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO11); + +// PD12 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO12); + +// PD13 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO13); + +// PD14 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO14); + +// PD15 I 0 Flt +gpio_set_mode(GPIOD, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, GPIO15); + + +>>>> gpiob +GPIOB settings +CRL : 0xb4887400 [0x40010c00] +CRH : 0xb3b33488 [0x40010c04] +IDR : 0x0000f774 [0x40010c08] +ODR : 0x0000f338 [0x40010c0c] +BSRR : 0x00000000 [0x40010c10] +BRR : 0x00000000 [0x40010c14] +LCKR : 0x00000000 [0x40010c18] + +>>>> gpioc +GPIOC settings +CRL : 0x44444444 [0x40011000] +CRH : 0x44444444 [0x40011004] +IDR : 0x00000000 [0x40011008] +ODR : 0x00000000 [0x4001100c] +BSRR : 0x00000000 [0x40011010] +BRR : 0x00000000 [0x40011014] +LCKR : 0x00000000 [0x40011018] + +>>>> gpioa +GPIOA settings +CRL : 0x08008887 [0x40010800] +CRH : 0x7884b8b3 [0x40010804] +IDR : 0x00005a4f [0x40010808] +ODR : 0x0000a04f [0x4001080c] +BSRR : 0x00000000 [0x40010810] +BRR : 0x00000000 [0x40010814] +LCKR : 0x00000000 [0x40010818] + +>>>> gpiod +GPIOD settings +CRL : 0x44444434 [0x40011400] +CRH : 0x44444444 [0x40011404] +IDR : 0x00000003 [0x40011408] +ODR : 0x00000002 [0x4001140c] +BSRR : 0x00000000 [0x40011410] +BRR : 0x00000000 [0x40011414] +LCKR : 0x00000000 [0x40011418] + +>>>> adc1 +ADC1 settings +SR : 0x00000010 [0x40012400] +CR1 : 0x00000000 [0x40012404] +CR2 : 0x009e0001 [0x40012408] +SMPR1 : 0x00000000 [0x4001240c] +SMPR2 : 0x36c00000 [0x40012410] +JOFR1 : 0x00000000 [0x40012414] +JOFR2 : 0x00000000 [0x40012418] +JOFR3 : 0x00000000 [0x4001241c] +JOFR4 : 0x00000000 [0x40012420] +HTR : 0x00000fff [0x40012424] +LTR : 0x00000000 [0x40012428] +SQR1 : 0x00000000 [0x4001242c] +SQR2 : 0x00000000 [0x40012430] +SQR3 : 0x00000008 [0x40012434] +JSQR : 0x00000000 [0x40012438] +JDR1 : 0x00000000 [0x4001243c] +JDR2 : 0x00000000 [0x40012440] +JDR3 : 0x00000000 [0x40012444] +JDR4 : 0x00000000 [0x40012448] +DR : 0x00000312 [0x4001244c] + +>>>> afio +AFIO settings +EVCR : 0x00000000 [0x40010000] +MAPR : 0x02008000 [0x40010004] +EXTICR1 : 0x00000000 [0x40010008] +EXTICR2 : 0x00000011 [0x4001000c] +EXTICR3 : 0x00000011 [0x40010010] +EXTICR4 : 0x00000000 [0x40010014] +MAPR2 : 0x00000000 [0x40010018] + +>>>> exti +EXTI settings +IMR : 0x0000033e [0x40010400] +EMR : 0x00000000 [0x40010404] +RTSR : 0x00000300 [0x40010408] +FTSR : 0x0000033e [0x4001040c] +SWIER : 0x00000000 [0x40010410] +PR : 0x00000000 [0x40010414] + +>>>> rcc +RCC settings +CR : 0x03003d83 [0x40021000] +CFGR : 0x0410000a [0x40021004] +CIR : 0x00000000 [0x40021008] +APB2RSTR : 0x00000000 [0x4002100c] +APB1RSTR : 0x00000000 [0x40021010] +AHBENR : 0x00000014 [0x40021014] +APB2ENR : 0x00004a2d [0x40021018] +APB1ENR : 0x20004006 [0x4002101c] +BDCR : 0x00000000 [0x40021020] +CSR : 0x0c000000 [0x40021024] +CFGR2 : 0x00000000 [0x4002102c] + diff --git a/content/extra/dps8005/5v-off.txt b/content/extra/dps8005/5v-off.txt new file mode 100644 index 0000000..37ba0a8 --- /dev/null +++ b/content/extra/dps8005/5v-off.txt @@ -0,0 +1,393 @@ +>>>> spi2 +SPI2 settings +CR2 : 0x00000347 [0x40003800] +CR1 : 0x00000000 [0x40003804] +SR : 0x00000002 [0x40003808] +DR : 0x000000ff [0x4000380c] +CRCPR : 0x00000007 [0x40003810] +RXCRCR : 0x00000000 [0x40003814] +TXCRCR : 0x00000000 [0x40003818] + +>>>> dma +DMA settings +ISR : 0x00000000 [0x40020000] +IFCR : 0x00000000 [0x40020004] +CCR1 : 0x00000000 [0x40020008] +CNDTR : 0x00000000 [0x40020084] +CPAR1 : 0x00000000 [0x40020010] +CMAR1 : 0x00000000 [0x40020014] +CCR2 : 0x00000000 [0x4002001c] +CNDTR : 0x00000000 [0x40020084] +CPAR2 : 0x00000000 [0x40020024] +CMAR2 : 0x00000000 [0x40020028] +CCR3 : 0x00000000 [0x40020030] +CNDTR : 0x00000000 [0x40020084] +CPAR3 : 0x00000000 [0x40020038] +CMAR3 : 0x00000000 [0x4002003c] +CCR4 : 0x00000000 [0x40020044] +CNDTR : 0x00000000 [0x40020084] +CPAR4 : 0x00000000 [0x4002004c] +CMAR4 : 0x00000000 [0x40020050] +CCR5 : 0x00000000 [0x40020058] +CNDTR : 0x00000000 [0x40020084] +CPAR5 : 0x00000000 [0x40020060] +CMAR5 : 0x00000000 [0x40020064] +CCR6 : 0x00000000 [0x4002006c] +CNDTR : 0x00000000 [0x40020084] +CPAR6 : 0x00000000 [0x40020074] +CMAR6 : 0x00000000 [0x40020078] +CCR7 : 0x00000000 [0x40020080] +CNDTR : 0x00000000 [0x40020084] +CPAR7 : 0x00000000 [0x40020088] + +>>>> spi1 +SPI1 settings +CR2 : 0x00000000 [0x40013000] +CR1 : 0x00000000 [0x40013004] +SR : 0x00000000 [0x40013008] +DR : 0x00000000 [0x4001300c] +CRCPR : 0x00000000 [0x40013010] +RXCRCR : 0x00000000 [0x40013014] +TXCRCR : 0x00000000 [0x40013018] + +>>>> tim4 +TIM4 settings +CR1 : 0x00000081 [0x40000800] +CR2 : 0x00000000 [0x40000804] +SMC : 0x00000000 [0x40000808] +DIER : 0x00000000 [0x4000080c] +SR : 0x0000001f [0x40000810] +EGR : 0x00000000 [0x40000814] +CCMR1 : 0x00006800 [0x40000818] +CCMR2 : 0x00000000 [0x4000081c] +CCER : 0x00000010 [0x40000820] +CNT : 0x0000082a [0x40000824] +PSC : 0x00000000 [0x40000828] +ARR : 0x00005dbf [0x4000082c] +RCR : 0x00000000 [0x40000830] +CCR1 : 0x00000000 [0x40000834] +CCR2 : 0x00004e20 [0x40000838] +CCR3 : 0x00000000 [0x4000083c] +CCR4 : 0x00000000 [0x40000840] +BDTR : 0x00000000 [0x40000844] +DCR : 0x00000000 [0x40000848] +DMAR : 0x00000081 [0x4000084c] + +>>>> dac +DAC settings +CR : 0x00030003 [0x40007400] +SWTRIGR : 0x00000000 [0x40007404] +DHR12R1 : 0x00000000 [0x40007408] +DHR12L1 : 0x00000000 [0x4000740c] +DHR8R1 : 0x00000000 [0x40007410] +DHR12R2 : 0x00000000 [0x40007414] +DHR12L2 : 0x00000000 [0x40007418] +DHR8R2 : 0x00000000 [0x4000741c] +DHR12RD : 0x00000000 [0x40007420] +DHR12LD : 0x00000000 [0x40007424] +DHR8RD : 0x00000000 [0x40007428] +DOR1 : 0x00000000 [0x4000742c] +DOR2 : 0x00000000 [0x40007430] +SR : 0x00000000 [0x40007434] + +>>>> gpio +// PA0 O 1 OD (50 Mhz) U7 +gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_OPENDRAIN, GPIO0); + +// PA1 I 1 PuPd M2 button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO1); +gpio_set(GPIOA, GPIO1); + +// PA2 I 1 PuPd SEL button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO2); +gpio_set(GPIOA, GPIO2); + +// PA3 I 1 PuPd M1 button +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UPDOWN, GPIO3); +gpio_set(GPIOA, GPIO3); + +// PA4 I 0 An DAC1_OUT TL594.2 (1IN-) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO4); + +// PA5 I 0 An DAC2_OUT TL594.15 (2IN-) +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_ANALOG, GPIO5); + +// PA6 I 1 PuPd +gpio_set_mode(GPIOA, GPIO_MODE_INPUT, GPIO_CNF_INPUT_PULL_UP