Difference: ForthCalculator (1 vs. 27)

Revision 272024-12-10 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 405 to 405
 
Added:
>
>

Egg Timer

On/Off On/Off On/Off
M 1/x STO
S x^2 ENTER
Start/Stop R/S Pi CLOCK
Clear CALC f
 -- Peter Schmid - 2024-05-24

Revision 262024-07-08 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 244 to 244
 taskEXIT_CRITICAL();
Added:
>
>

SDIO

https://community.st.com/t5/stm32-mcus-products/stm32cubemx-sdio-f4/td-p/410536

Project STM32F413H_DISCOVERY FatFs_uSD_RTOS

stm32f413h_discovery_sd.c

uint8_t BSP_SD_Init(void)
{ 
  uint8_t sd_state = MSD_OK;
  
  /* uSD device interface configuration */
  uSdHandle.Instance = SDIO;

  uSdHandle.Init.ClockEdge           = SDIO_CLOCK_EDGE_RISING;
  uSdHandle.Init.ClockBypass         = SDIO_CLOCK_BYPASS_DISABLE;
  uSdHandle.Init.ClockPowerSave      = SDIO_CLOCK_POWER_SAVE_DISABLE;
  uSdHandle.Init.BusWide             = SDIO_BUS_WIDE_1B;
  uSdHandle.Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_ENABLE;
  uSdHandle.Init.ClockDiv            = SDIO_TRANSFER_CLK_DIV;
  
  /* Msp SD Detect pin initialization */
  BSP_SD_Detect_MspInit(&uSdHandle, NULL);
  
  /* Check if SD card is present */
  if(BSP_SD_IsDetected() != SD_PRESENT)
  {
    return MSD_ERROR_SD_NOT_PRESENT;
  }
  
  /* Msp SD initialization */
  BSP_SD_MspInit(&uSdHandle, NULL);

  /* HAL SD initialization */
  if(HAL_SD_Init(&uSdHandle) != HAL_OK)
  {
    sd_state = MSD_ERROR;
  }
  
  /* Configure SD Bus width */
  if(sd_state == MSD_OK)
  {
    /* Enable wide operation */
    if(HAL_SD_ConfigWideBusOperation(&uSdHandle, SDIO_BUS_WIDE_4B) != HAL_OK)
    {
      sd_state = MSD_ERROR;
    }
    else
    {
      sd_state = MSD_OK;
    }
  }
  
  return  sd_state;
}

/**
  * @brief  Initializes the SD MSP.
  * @param  hsd: SD handle
  * @param  Params : pointer on additional configuration parameters, can be NULL.
  */
__weak void BSP_SD_MspInit(SD_HandleTypeDef *hsd, void *Params)
{
  static DMA_HandleTypeDef dma_rx_handle;
  static DMA_HandleTypeDef dma_tx_handle;
  GPIO_InitTypeDef gpio_init_structure;

  /* Prevent unused argument(s) compilation warning */
  UNUSED(Params);

  /* Enable SDIO clock */
  __HAL_RCC_SDIO_CLK_ENABLE();
  
  /* Enable DMA2 clocks */
  __DMAx_TxRx_CLK_ENABLE();

  /* Enable GPIOs clock */
  __HAL_RCC_GPIOC_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();
  
  /* Common GPIO configuration */
  gpio_init_structure.Mode      = GPIO_MODE_AF_PP;
  gpio_init_structure.Pull      = GPIO_PULLUP;
  gpio_init_structure.Speed     = GPIO_SPEED_HIGH;
  gpio_init_structure.Alternate = GPIO_AF12_SDIO;
  
  /* GPIOC configuration: SD_D[0..3] and SD_clk */
  gpio_init_structure.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12;
   
  HAL_GPIO_Init(GPIOC, &gpio_init_structure);

  /* GPIOA configuration: SD cmd */
  gpio_init_structure.Pin = GPIO_PIN_6;
  HAL_GPIO_Init(GPIOA, &gpio_init_structure);

  /* NVIC configuration for SDIO interrupts */
  HAL_NVIC_SetPriority(SDIO_IRQn, 0x0E, 0x00);
  HAL_NVIC_EnableIRQ(SDIO_IRQn);
    
  /* Configure DMA Rx parameters */
  dma_rx_handle.Init.Channel             = SD_DMAx_Rx_CHANNEL;
  dma_rx_handle.Init.Direction           = DMA_PERIPH_TO_MEMORY;
  dma_rx_handle.Init.PeriphInc           = DMA_PINC_DISABLE;
  dma_rx_handle.Init.MemInc              = DMA_MINC_ENABLE;
  dma_rx_handle.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
  dma_rx_handle.Init.MemDataAlignment    = DMA_MDATAALIGN_WORD;
  dma_rx_handle.Init.Mode                = DMA_PFCTRL;
  dma_rx_handle.Init.Priority            = DMA_PRIORITY_VERY_HIGH;
  dma_rx_handle.Init.FIFOMode            = DMA_FIFOMODE_ENABLE;
  dma_rx_handle.Init.FIFOThreshold       = DMA_FIFO_THRESHOLD_FULL;
  dma_rx_handle.Init.MemBurst            = DMA_MBURST_INC4;
  dma_rx_handle.Init.PeriphBurst         = DMA_PBURST_INC4;
  
  dma_rx_handle.Instance = SD_DMAx_Rx_STREAM;
  
  /* Associate the DMA handle */
  __HAL_LINKDMA(hsd, hdmarx, dma_rx_handle);
  
  /* Deinitialize the stream for new transfer */
  HAL_DMA_DeInit(&dma_rx_handle);
  
  /* Configure the DMA stream */
  HAL_DMA_Init(&dma_rx_handle);
  
  /* Configure DMA Tx parameters */
  dma_tx_handle.Init.Channel             = SD_DMAx_Tx_CHANNEL;
  dma_tx_handle.Init.Direction           = DMA_MEMORY_TO_PERIPH;
  dma_tx_handle.Init.PeriphInc           = DMA_PINC_DISABLE;
  dma_tx_handle.Init.MemInc              = DMA_MINC_ENABLE;
  dma_tx_handle.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD;
  dma_tx_handle.Init.MemDataAlignment    = DMA_MDATAALIGN_WORD;
  dma_tx_handle.Init.Mode                = DMA_PFCTRL;
  dma_tx_handle.Init.Priority            = DMA_PRIORITY_VERY_HIGH;
  dma_tx_handle.Init.FIFOMode            = DMA_FIFOMODE_ENABLE;
  dma_tx_handle.Init.FIFOThreshold       = DMA_FIFO_THRESHOLD_FULL;
  dma_tx_handle.Init.MemBurst            = DMA_MBURST_INC4;
  dma_tx_handle.Init.PeriphBurst         = DMA_PBURST_INC4;
  
  dma_tx_handle.Instance = SD_DMAx_Tx_STREAM;
  
  /* Associate the DMA handle */
  __HAL_LINKDMA(hsd, hdmatx, dma_tx_handle);
  
  /* Deinitialize the stream for new transfer */
  HAL_DMA_DeInit(&dma_tx_handle);
  
  /* Configure the DMA stream */
  HAL_DMA_Init(&dma_tx_handle); 
  
  /* NVIC configuration for DMA transfer complete interrupt */
  HAL_NVIC_SetPriority(SD_DMAx_Rx_IRQn, 0x0F, 0x00);
  HAL_NVIC_EnableIRQ(SD_DMAx_Rx_IRQn);
  
  /* NVIC configuration for DMA transfer complete interrupt */
  HAL_NVIC_SetPriority(SD_DMAx_Tx_IRQn, 0x0F, 0x00);
  HAL_NVIC_EnableIRQ(SD_DMAx_Tx_IRQn);
}

 -- Peter Schmid - 2024-05-24

Revision 252024-07-05 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 95 to 95
 
COL1 D11 PC3 JP3.6 EXTI3
COL2 A0 PA4 JP1.12 EXTI4
COL3 A1 PA5 JP1.11 EXTI9_5
Changed:
<
<
COL3 D3 (MISO) PB14 JP1.4 EXTI15_10
>
>
COL4 D3 (MISO) PB14 JP1.4 EXTI15_10
 
Function Description Port Pin
Changed:
<
<
ROW0 UART_RX / GPIO D0 PB11 JP1.3
>
>
ROW0 UART_RX / D0 PB11 JP1.3
 
ROW1 A2 PA6 JP1.10
ROW2 A3 PA7 JP1.9
ROW3 A4 PC4 JP1.8
Line: 129 to 129
 
Button B D6 PC6 JP3.9 Shared (EPD)
Button C D5 PC7 JP3.10 Shared (EPD)
Added:
>
>

Buzzer

Function Description Port Pin
Buzzer OLED D13 / red LED PC1 JP3.4
Buzzer EPD I2C SDA / D14 PB7 JP3.12
 

BOM

Revision 242024-07-05 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 95 to 95
 
COL1 D11 PC3 JP3.6 EXTI3
COL2 A0 PA4 JP1.12 EXTI4
COL3 A1 PA5 JP1.11 EXTI9_5
Changed:
<
<
COL4 UART_RX / GPIO D0 PB11 JP1.3 EXTI15_10
>
>
COL3 D3 (MISO) PB14 JP1.4 EXTI15_10
 
Function Description Port Pin
Changed:
<
<
ROW0 A2 PA6 JP1.10
ROW1 A3 PA7 JP1.9
ROW2 A4 PC4 JP1.8
ROW3 A5 PC5 JP1.7
ROW4 UART_TX / D1 PB10 JP1.2
ROW5 D10 PB9 JP3.7
ROW6 BOOT0   JP1.1
>
>
ROW0 UART_RX / GPIO D0 PB11 JP1.3
ROW1 A2 PA6 JP1.10
ROW2 A3 PA7 JP1.9
ROW3 A4 PC4 JP1.8
ROW4 A5 PC5 JP1.7
ROW5 UART_TX / D1 PB10 JP1.2
ROW6 D10 PB9 JP3.7
 

Display

Line: 118 to 118
 
Function Description Port Pin Int
SPI SCK D2 PB13 JP1.6  
SPI MOSI D4 PB15 JP1.5  
Changed:
<
<
SPI CS D3 (MISO) PB14 JP1.4  
RESET BOOT0   JP1.1  
>
>
CS Button B / D6 PC6 JP3.9  
RESET Button A / D9 PB8 JP3.8  
 
BUSY D13 / red LED PC1 JP3.4 EXTI1
DATA/COMMAND Button C / D5 PC7 JP3.10  
Changed:
<
<

Buttons

>
>

Buttons

 
Function Description Port Pin Note
Changed:
<
<
Button A D9 PB8 JP3.8  
Button B D6 PC6 JP3.9 Shared
Button C D5 PC7 JP3.10 Shared
>
>
Button A D9 PB8 JP3.8 Shared (EPD)
Button B D6 PC6 JP3.9 Shared (EPD)
Button C D5 PC7 JP3.10 Shared (EPD)
 

BOM

Revision 232024-07-05 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 73 to 73
 
GND CN2.9 GND GND  
PA1 CN2.10 A2 COL1  
Deleted:
<
<
COL0 D12 PC2 JP3.5
COL1 D11 PC3 JP3.6
COL2 A0 PA4 JP1.12
COL3 A1 PA5 JP1.11
COL4 UART_RX / GPIO D0 PB11 JP1.3

ROW0 A2 PA6 JP1.10
ROW1 A4 PC4 JP1.8
ROW2 A5 PC5 JP1.7
ROW3 UART_TX / D1 PB10 JP1.2
ROW4 D10 PB9 JP3.7
ROW5 SCK / D2 PB13 JP1.6
ROW6 MISO / D3 PB14 JP1.4
 

Description Dongle Function Calculator
Line: 99 to 86
 
PB0 AT2 AT2  
PB1 AT3 AT3  
Added:
>
>

Adafruit Feather STM32F405

Keypad

Function Description Port Pin Int
COL0 D12 PC2 JP3.5 EXTI2
COL1 D11 PC3 JP3.6 EXTI3
COL2 A0 PA4 JP1.12 EXTI4
COL3 A1 PA5 JP1.11 EXTI9_5
COL4 UART_RX / GPIO D0 PB11 JP1.3 EXTI15_10

Function Description Port Pin
ROW0 A2 PA6 JP1.10
ROW1 A3 PA7 JP1.9
ROW2 A4 PC4 JP1.8
ROW3 A5 PC5 JP1.7
ROW4 UART_TX / D1 PB10 JP1.2
ROW5 D10 PB9 JP3.7
ROW6 BOOT0   JP1.1

Display

OLED

Function Description Port Pin
I2C SDA D14 PB7 JP3.12
I2C SCL D15 PB6 JP3.11

EPD

Function Description Port Pin Int
SPI SCK D2 PB13 JP1.6  
SPI MOSI D4 PB15 JP1.5  
SPI CS D3 (MISO) PB14 JP1.4  
RESET BOOT0   JP1.1  
BUSY D13 / red LED PC1 JP3.4 EXTI1
DATA/COMMAND Button C / D5 PC7 JP3.10  

Buttons

Function Description Port Pin Note
Button A D9 PB8 JP3.8  
Button B D6 PC6 JP3.9 Shared
Button C D5 PC7 JP3.10 Shared
 

BOM

  • Perfboard square grid of 0.1 inches, pads on both sides (plate-through holes), 2" x 3.5", $3

Revision 222024-07-04 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 73 to 73
 
GND CN2.9 GND GND  
PA1 CN2.10 A2 COL1  
Added:
>
>
COL0 D12 PC2 JP3.5
COL1 D11 PC3 JP3.6
COL2 A0 PA4 JP1.12
COL3 A1 PA5 JP1.11
COL4 UART_RX / GPIO D0 PB11 JP1.3

ROW0 A2 PA6 JP1.10
ROW1 A4 PC4 JP1.8
ROW2 A5 PC5 JP1.7
ROW3 UART_TX / D1 PB10 JP1.2
ROW4 D10 PB9 JP3.7
ROW5 SCK / D2 PB13 JP1.6
ROW6 MISO / D3 PB14 JP1.4
 
Description Dongle Function Calculator
USB5V   5V 5V CHARGE
PH3   BOOT0 BOOT0

Revision 212024-06-27 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 179 to 179
 

hw_timerserver.c

Changed:
<
<
>
>
  /**
  • Configure EXTI module */
Line: 187 to 187
  LL_EXTI_EnableIT_0_31(RTC_EXTI_LINE_WAKEUPTIMER_EVENT);
Added:
>
>
flash.c
taskENTER_CRITICAL();

taskEXIT_CRITICAL();
 -- Peter Schmid - 2024-05-24

Revision 202024-06-21 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 138 to 138
 The status line at the bottom of the Inkscape window will now show "Unicode (enter to finish)". Type 03bc which is the unicode for the µ character, then press Enter (Return), if everything went well you will now have the µ character on the canvas.
Added:
>
>

LPM

app_entry.c

void Init_Exti( void )
{
  /**< Disable all wakeup interrupt on CPU1  except 
       IPCC(36), HSEM(38), 
       EXTI1, EXTI2, EXTI3, EXTI4, EXTI5, EXTI6, EXTI7, EXTI9, EXTI11, and EXTI12 for push button keys, 
       EXTI0 for Wakeup,
       EXTI10 for UART Rx 
   */
//  LL_EXTI_DisableIT_0_31(~0);
#ifndef BASIC 
  LL_EXTI_DisableIT_0_31 ( (~0) & (~(LL_EXTI_LINE_1  | LL_EXTI_LINE_2  | LL_EXTI_LINE_3
                                   | LL_EXTI_LINE_4  | LL_EXTI_LINE_5  | LL_EXTI_LINE_6
                                   | LL_EXTI_LINE_7  | LL_EXTI_LINE_9  | LL_EXTI_LINE_11
                                   | LL_EXTI_LINE_12
                                   | LL_EXTI_LINE_0  
                                   | LL_EXTI_LINE_10 
                                   | LL_EXTI_LINE_8
                                  )) );
#else
  LL_EXTI_DisableIT_0_31 ( (~0) & (~(LL_EXTI_LINE_1  | LL_EXTI_LINE_2  | LL_EXTI_LINE_3 )) ); 
#endif
  LL_EXTI_DisableIT_32_63( (~0) & (~(LL_EXTI_LINE_36 | LL_EXTI_LINE_38)) );

  return;
}

tud_task() wait for event?

STM32Cube\Repository\STM32Cube_FW_WB_V1.17.3\Projects\P-NUCLEO-WB55.Nucleo\Applications\BLE\BLE_HeartRateFreeRTOS

Low Power Timer freertos_posrt.c

hw_timerserver.c /**

  • Configure EXTI module */ LL_EXTI_EnableRisingTrig_0_31(RTC_EXTI_LINE_WAKEUPTIMER_EVENT); LL_EXTI_EnableIT_0_31(RTC_EXTI_LINE_WAKEUPTIMER_EVENT);
 -- Peter Schmid - 2024-05-24

Revision 192024-06-18 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 142 to 142
 

Added:
>
>
  • overlay.png:
    overlay.png
 
META FILEATTACHMENT attachment="calc-black.svg" attr="" comment="" date="1716922295" name="calc-black.svg" path="calc-black.svg" size="57398" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="calc-black.png" attr="" comment="" date="1716922896" name="calc-black.png" path="calc-black.png" size="57162" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="20240526_194615.JPG" attr="" comment="" date="1716981651" name="20240526_194615.JPG" path="20240526_194615.JPG" size="5797569" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="20240526_194637.JPG" attr="" comment="" date="1716981651" name="20240526_194637.JPG" path="20240526_194637.JPG" size="5857833" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="20240526_194652.JPG" attr="" comment="" date="1716981651" name="20240526_194652.JPG" path="20240526_194652.JPG" size="5662996" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="overlay.svg" attr="" comment="" date="1718656996" name="overlay.svg" path="overlay.svg" size="59956" user="PeterSchmid" version="1"
Added:
>
>
META FILEATTACHMENT attachment="overlay.png" attr="" comment="" date="1718738068" name="overlay.png" path="overlay.png" size="227444" user="PeterSchmid" version="1"

Revision 182024-06-18 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 111 to 111
 
  • Fehlermeldung auf OLED, patch in datastackandmacros.s Fehler_Quit und Fehler_Quit_n
  • on/off
Added:
>
>

Button Overlay

 
Added:
>
>
Inkscape

overlay.svg: overlay.svg

special characters

Press F8 to get to text mode. Click with mouse on the canvas (Inkscape lingo for page) where you want your text. You will now have the text cursor on the canvas. Press Ctrl U to get into unicode entry mode. The status line at the bottom of the Inkscape window will now show "Unicode (enter to finish)". Type 03bc which is the unicode for the µ character, then press Enter (Return), if everything went well you will now have the µ character on the canvas.

  -- Peter Schmid - 2024-05-24
Deleted:
<
<
 
META FILEATTACHMENT attachment="calc-black.svg" attr="" comment="" date="1716922295" name="calc-black.svg" path="calc-black.svg" size="57398" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="calc-black.png" attr="" comment="" date="1716922896" name="calc-black.png" path="calc-black.png" size="57162" user="PeterSchmid" version="1"

Revision 172024-06-17 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 109 to 109
 
  • Rundung ab 4 Stellen z.B. 9999e fs. :.00E3
  • Fehlermeldung auf OLED, patch in datastackandmacros.s Fehler_Quit und Fehler_Quit_n
Changed:
<
<
  • Tastenlayout anpassen
  • octal word hinzufügen
  • xbits entfernen
  • shr etc.
  • on/off, c quit
>
>
  • on/off
 

-- Peter Schmid - 2024-05-24

Added:
>
>
 
META FILEATTACHMENT attachment="calc-black.svg" attr="" comment="" date="1716922295" name="calc-black.svg" path="calc-black.svg" size="57398" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="calc-black.png" attr="" comment="" date="1716922896" name="calc-black.png" path="calc-black.png" size="57162" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="20240526_194615.JPG" attr="" comment="" date="1716981651" name="20240526_194615.JPG" path="20240526_194615.JPG" size="5797569" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="20240526_194637.JPG" attr="" comment="" date="1716981651" name="20240526_194637.JPG" path="20240526_194637.JPG" size="5857833" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="20240526_194652.JPG" attr="" comment="" date="1716981651" name="20240526_194652.JPG" path="20240526_194652.JPG" size="5662996" user="PeterSchmid" version="1"
Added:
>
>
META FILEATTACHMENT attachment="overlay.svg" attr="" comment="" date="1718656996" name="overlay.svg" path="overlay.svg" size="59956" user="PeterSchmid" version="1"

Revision 162024-06-17 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 105 to 105
 
  • I2C Connector

Added:
>
>

ToDos

  • Rundung ab 4 Stellen z.B. 9999e fs. :.00E3
  • Fehlermeldung auf OLED, patch in datastackandmacros.s Fehler_Quit und Fehler_Quit_n
  • Tastenlayout anpassen
  • octal word hinzufügen
  • xbits entfernen
  • shr etc.
  • on/off, c quit

 -- Peter Schmid - 2024-05-24

Revision 152024-06-17 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 42 to 42
 
f 1 2 3 -
f XOR AND NOT OR
+--------+--------+--------+--------+--------+
Changed:
<
<
C ON 0 . FCT +
>
>
C ON 0 . FFCT +
  | OFF | k | M | G | T | R6
C ON 0 . FCT +
OFF */ MOD /MOD  

Revision 142024-06-17 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 35 to 35
 
CALC 4 5 6 *
| TERM | FIX | ENG | SCI | PREC | R4
CALC 4 5 6 *
Changed:
<
<
TERM FIX ENG SCI PREC
>
>
TERM SIGN UNSGN    
  +--------+--------+--------+--------+--------+
f 1 2 3 -
| f | p | n | u | m | R5
f 1 2 3 -
f XOR AND NOT OR
+--------+--------+--------+--------+--------+
Changed:
<
<
ON/OFF 0 . FCT +
| ON/OFF | k | M | G | T | R6
ON/OFF 0 . FCT +
ON/OFF */ MOD /MOD  
>
>
C ON 0 . FCT +
| OFF | k | M | G | T | R6
C ON 0 . FCT +
OFF */ MOD /MOD  
  +--------+--------+--------+--------+--------+

Revision 132024-06-17 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 13 to 13
  C0 C1 C2 C3 C4 +--------+--------+--------+--------+--------+
Pi 1/x x^2 LOG LN
Changed:
<
<
| | y^x | SQRT | 10^x | e^x | R0
>
>
| R/S | y^x | SQRT | 10^x | e^x | R0
 
A B C D E
Changed:
<
<
0x20 0x21 ! 0x22 " 0x23 # 0x24 $
>
>
R/S SL SR RL RR
 +--------+--------+--------+--------+--------+
Changed:
<
<
STOx RCLx SIN COS TAN
>
>
STO RCL SIN COS TAN
 | CEIL | FLOOR | ASIN | ACOS | ATAN | R1
Changed:
<
<
    SL SR F
0x25 % 0x26 & 0x27 ' 0x28 ( 0x29 )
>
>
STO RCL     F
  SLn SRn    
 +--------+--------+--------+--------+--------+
Changed:
<
<
ENTER SWAP NEG EXP BS
| DROP | ROT | ABS | F>S | CLx | R2
      S>F  
0x2A * 0x2B + 0x2C , 0x2D _ 0x2E .
>
>
ENTER SWAP - E BS
| DUP | ROT | ABS | F>S | CLx | R2
ENTER SWAP - E BS
DUP ROT ABS S>F CLx
 +--------+--------+--------+--------+--------+
CLOCK 7 8 9 /
Changed:
<
<
| | FLOAT | DEC | HEX | BIN | R3
         
0x2F / 0x30 0 0x31 1 0x32 2 0x33 3
>
>
| FLOAT | HEX | DEC | OCT | BIN | R3
CLOCK 7 8 9 /
FLOAT HEX DEC OCT BIN
 +--------+--------+--------+--------+--------+
CALC 4 5 6 *
Changed:
<
<
| | FIX | ENG | SCI | PREC | R4
         
0x34 4 0x35 5 0x36 6 0x37 7 0x38 8
>
>
| TERM | FIX | ENG | SCI | PREC | R4
CALC 4 5 6 *
TERM FIX ENG SCI PREC
 +--------+--------+--------+--------+--------+
f 1 2 3 -
Changed:
<
<
| | p | n | u | m | R5
  XOR AND NOT OR
0x39 9 0x3A : 0x3B ; 0x3C < 0x3D =
+--------+--------+--------+--------+--------+
ON/OFF 0 .   +
| | k | M | G | T | R6
  1'S 2'S UNSGN  
0x3E > 0x3F ? 0x40 @ 0x41 A 0x42 B
>
>
| f | p | n | u | m | R5
f 1 2 3 -
f XOR AND NOT OR
 +--------+--------+--------+--------+--------+
Added:
>
>
ON/OFF 0 . FCT +
| ON/OFF | k | M | G | T | R6
ON/OFF 0 . FCT +
ON/OFF */ MOD /MOD  
+--------+--------+--------+--------+--------+
 

Revision 112024-05-29 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 104 to 105
  -- Peter Schmid - 2024-05-24
Deleted:
<
<

Comments

<--/commentPlugin-->

  • calc-black.png:
    calc-black.png
 
META FILEATTACHMENT attachment="calc-black.svg" attr="" comment="" date="1716922295" name="calc-black.svg" path="calc-black.svg" size="57398" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="calc-black.png" attr="" comment="" date="1716922896" name="calc-black.png" path="calc-black.png" size="57162" user="PeterSchmid" version="1"
Added:
>
>
META FILEATTACHMENT attachment="20240526_194615.JPG" attr="" comment="" date="1716981651" name="20240526_194615.JPG" path="20240526_194615.JPG" size="5797569" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="20240526_194637.JPG" attr="" comment="" date="1716981651" name="20240526_194637.JPG" path="20240526_194637.JPG" size="5857833" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="20240526_194652.JPG" attr="" comment="" date="1716981651" name="20240526_194652.JPG" path="20240526_194652.JPG" size="5662996" user="PeterSchmid" version="1"

Revision 102024-05-28 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 107 to 107
 

Comments

<--/commentPlugin-->
Added:
>
>

  • calc-black.png:
    calc-black.png

META FILEATTACHMENT attachment="calc-black.svg" attr="" comment="" date="1716922295" name="calc-black.svg" path="calc-black.svg" size="57398" user="PeterSchmid" version="1"
META FILEATTACHMENT attachment="calc-black.png" attr="" comment="" date="1716922896" name="calc-black.png" path="calc-black.png" size="57162" user="PeterSchmid" version="1"

Revision 92024-05-27 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 6 to 6
 
Changed:
<
<
>
>
Rows are input ports with pull up resistors and interrupts, columns are open drain output ports.
 
    C0       C1       C2       C3       C4
+--------+--------+--------+--------+--------+
| Pi     | 1/x    | x^2    | LOG    | LN     |
|        | y^x    | SQRT   | 10^x   | e^x    |  R0
| A      | B      | C      | D      | E      |
Added:
>
>
0x20 0x21 ! 0x22 " 0x23 # 0x24 $
 +--------+--------+--------+--------+--------+
STOx RCLx SIN COS TAN
| CEIL | FLOOR | ASIN | ACOS | ATAN | R1
    SL SR F
Added:
>
>
0x25 % 0x26 & 0x27 ' 0x28 ( 0x29 )
 +--------+--------+--------+--------+--------+
ENTER SWAP NEG EXP BS
| DROP | ROT | ABS | F>S | CLx | R2
      S>F  
Added:
>
>
0x2A * 0x2B + 0x2C , 0x2D _ 0x2E .
 +--------+--------+--------+--------+--------+
CLOCK 7 8 9 /
| | FLOAT | DEC | HEX | BIN | R3
         
Added:
>
>
0x2F / 0x30 0 0x31 1 0x32 2 0x33 3
 +--------+--------+--------+--------+--------+
CALC 4 5 6 *
| | FIX | ENG | SCI | PREC | R4
         
Added:
>
>
0x34 4 0x35 5 0x36 6 0x37 7 0x38 8
 +--------+--------+--------+--------+--------+
f 1 2 3 -
| | p | n | u | m | R5
  XOR AND NOT OR
Added:
>
>
0x39 9 0x3A : 0x3B ; 0x3C < 0x3D =
 +--------+--------+--------+--------+--------+
ON/OFF 0 .   +
| | k | M | G | T | R6
  1'S 2'S UNSGN  
Added:
>
>
0x3E > 0x3F ? 0x40 @ 0x41 A 0x42 B
 +--------+--------+--------+--------+--------+
Line: 46 to 53
 
NRST CN1.2 RES RST 10
PA13 CN1.3 SWDIO - 2
PA14 CN1.4 SWDCLK - 4
Changed:
<
<
PB3 CN1.5 SWO COL0  
>
>
PB3 CN1.5 SWO ROW0  
 
3V3 CN1.6 3V3 3V3 1
Changed:
<
<
PB2 CN1.7   COL1  
PA5 CN1.8 D13 COL2  
PA6 CN1.9 D12 COL3  
PA7 CN1.10 D11 COL4  
>
>
PB2 CN1.7   ROW1  
PA5 CN1.8 D13 COL4  
PA6 CN1.9 D12 ROW2  
PA7 CN1.10 D11 ROW3  
 
PB8 CN2.1 D15 SCL SCL Display  
PB9 CN2.2 D14 SDA SDA Display  
Changed:
<
<
PA0 CN2.3 A3    
PA2 CN2.4 D1 ROW0  
PA3 CN2.5 D0 ROW1  
PB6 CN2.6 UARTRX ROW2  
PA9 CN2.7 D9 ROW3  
PA8 CN2.8 D6 ROW5  
>
>
PA0 CN2.3 A3 COL0  
PA2 CN2.4 D1 COL2  
PA3 CN2.5 D0 COL3  
PB6 CN2.6 UARTRX ROW4  
PA9 CN2.7 D9 ROW5  
PA8 CN2.8 D6 ROW6  
 
GND CN2.9 GND GND  
Changed:
<
<
PA1 CN2.10 A2 ROW6  
>
>
PA1 CN2.10 A2 COL1  
 
Description Dongle Function Calculator
USB5V   5V 5V CHARGE
PH3   BOOT0 BOOT0
Changed:
<
<
PA10 SW1 KEY30 KEY30 on/off
>
>
PA10 SW1    
 
PB5 LD1    
PB0 LD2    
PA4 LD3    
Line: 77 to 84
 

BOM

  • Perfboard square grid of 0.1 inches, pads on both sides (plate-through holes), 2" x 3.5", $3
Changed:
<
<
  • STM32WB55 Dongle, part of P-NUCLEO-WB55, DigiKey 497-18384-ND
>
>
  • SBC
    • STM32WB55 Dongle, part of P-NUCLEO-WB55, DigiKey 497-18384-ND
    • STM32F405
 

Revision 82024-05-27 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 76 to 76
 

BOM

Changed:
<
<
  • Perfboard square grid of 0.1 inches, pads on both sides (plate-through holes), 2" * 3.5", $3
>
>
  • Perfboard square grid of 0.1 inches, pads on both sides (plate-through holes), 2" x 3.5", $3
 
  • STM32WB55 Dongle, part of P-NUCLEO-WB55, DigiKey 497-18384-ND
  • OLED display
Changed:
<
<
    • 128x32 pixels if it should fit into 2" * 3.5"
    • 128x64 pixels
>
>
 
  • 35 pcs push buttons, fit in 0.4" grid
Added:
>
>
    • Würth 430473035826, DigiKey #732-7021-1-ND, data sheet, $0.5
    • TE Connectivity ALCOSWITCH Switches 1825910-6, $0.15
    • C&K PTS 647 SN50 SMTR2 LFS, DigiKey #PTS647SN50SMTR2LFSCT-ND, smaller 4.5 x 4.5 mm, $0.2
 
  • Wires
  • USB Connector e.g.
Changed:
<
<
    • USB MICRO-B BREAKOUT BOARD Adafruit #1833, DigiKey 1528-1383-ND, from $1 up
>
>
 
Added:
>
>
 
  • I2C Connector

Revision 72024-05-26 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 74 to 74
 
PB0 AT2 AT2  
PB1 AT3 AT3  
Added:
>
>

BOM

  • Perfboard square grid of 0.1 inches, pads on both sides (plate-through holes), 2" * 3.5", $3
  • STM32WB55 Dongle, part of P-NUCLEO-WB55, DigiKey 497-18384-ND
  • OLED display
    • 128x32 pixels if it should fit into 2" * 3.5"
    • 128x64 pixels
  • 35 pcs push buttons, fit in 0.4" grid
  • Wires
  • USB Connector e.g.
    • USB MICRO-B BREAKOUT BOARD Adafruit #1833, DigiKey 1528-1383-ND, from $1 up
    • Adafruit Micro-Lipo Charger for LiPo/LiIon Batt w/MicroUSB Jack, $7
  • I2C Connector

  -- Peter Schmid - 2024-05-24

Revision 62024-05-25 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 41 to 41
 
Changed:
<
<
Description Dongle Function Calculator JTAG 14pin
GND CN1.1 GND GND 5, 7, 11
NRST CN1.2 RES RST 12
PA13 CN1.3 SWDIO - 4
PA14 CN1.4 SWDCLK - 6
>
>
Description Dongle Function Calculator JTAG 10pin
GND CN1.1 GND GND 3, 5, 9
NRST CN1.2 RES RST 10
PA13 CN1.3 SWDIO - 2
PA14 CN1.4 SWDCLK - 4
 
PB3 CN1.5 SWO COL0  
Changed:
<
<
3V3 CN1.6 3V3 3V3 3
>
>
3V3 CN1.6 3V3 3V3 1
 
PB2 CN1.7   COL1  
PA5 CN1.8 D13 COL2  
PA6 CN1.9 D12 COL3  

Revision 52024-05-25 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 40 to 40
 +--------+--------+--------+--------+--------+
Added:
>
>
Description Dongle Function Calculator JTAG 14pin
GND CN1.1 GND GND 5, 7, 11
NRST CN1.2 RES RST 12
PA13 CN1.3 SWDIO - 4
PA14 CN1.4 SWDCLK - 6
PB3 CN1.5 SWO COL0  
3V3 CN1.6 3V3 3V3 3
PB2 CN1.7   COL1  
PA5 CN1.8 D13 COL2  
PA6 CN1.9 D12 COL3  
PA7 CN1.10 D11 COL4  
PB8 CN2.1 D15 SCL SCL Display  
PB9 CN2.2 D14 SDA SDA Display  
PA0 CN2.3 A3    
PA2 CN2.4 D1 ROW0  
PA3 CN2.5 D0 ROW1  
PB6 CN2.6 UARTRX ROW2  
PA9 CN2.7 D9 ROW3  
PA8 CN2.8 D6 ROW5  
GND CN2.9 GND GND  
PA1 CN2.10 A2 ROW6  

Description Dongle Function Calculator
USB5V   5V 5V CHARGE
PH3   BOOT0 BOOT0
PA10 SW1 KEY30 KEY30 on/off
PB5 LD1    
PB0 LD2    
PA4 LD3    
PB7 SB6 UARTTX  
PB0 AT2 AT2  
PB1 AT3 AT3  
 -- Peter Schmid - 2024-05-24

Comments

Revision 42024-05-24 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Line: 8 to 8
 
Added:
>
>
C0 C1 C2 C3 C4
 +--------+--------+--------+--------+--------+
Pi 1/x x^2 LOG LN
Changed:
<
<
  y^x SQRT 10^x e^x
>
>
| | y^x | SQRT | 10^x | e^x | R0
 
A B C D E
+--------+--------+--------+--------+--------+
STOx RCLx SIN COS TAN
Changed:
<
<
CEIL FLOOR ASIN ACOS ATAN
>
>
| CEIL | FLOOR | ASIN | ACOS | ATAN | R1
 
    SL SR F
+--------+--------+--------+--------+--------+
ENTER SWAP NEG EXP BS
Changed:
<
<
  ROT ABS   CLx
>
>
| DROP | ROT | ABS | F>S | CLx | R2
      S>F  
 +--------+--------+--------+--------+--------+
CLOCK 7 8 9 /
Changed:
<
<
  FLOAT DEC HEX BIN
>
>
| | FLOAT | DEC | HEX | BIN | R3
         
 +--------+--------+--------+--------+--------+
CALC 4 5 6 *
Changed:
<
<
  FIX ENG SCI PREC
>
>
| | FIX | ENG | SCI | PREC | R4
         
 +--------+--------+--------+--------+--------+
f 1 2 3 -
Changed:
<
<
  p n u m
>
>
| | p | n | u | m | R5
 
  XOR AND NOT OR
+--------+--------+--------+--------+--------+
ON/OFF 0 .   +
Changed:
<
<
  k M G T
>
>
| | k | M | G | T | R6
 
  1'S 2'S UNSGN  
+--------+--------+--------+--------+--------+

Revision 32024-05-24 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

Added:
>
>
 
+--------+--------+--------+--------+--------+
| Pi     | 1/x    | x^2    | LOG    | LN     |
|        | y^x    | SQRT   | 10^x   | e^x    |
| A      | B      | C      | D      | E      |
+--------+--------+--------+--------+--------+
Changed:
<
<
STO RCL SIN COS TAN
    ASIN ACOS ATAN
    SL RL SR RR F
>
>
STOx RCLx SIN COS TAN
CEIL FLOOR ASIN ACOS ATAN
    SL SR F
 +--------+--------+--------+--------+--------+
ENTER SWAP NEG EXP BS
Changed:
<
<
  ROT ABS   CLEAR
>
>
  ROT ABS   CLx
 +--------+--------+--------+--------+--------+
CLOCK 7 8 9 /
  FLOAT DEC HEX BIN
+--------+--------+--------+--------+--------+
Changed:
<
<
CALC 4 5 6 x
  FIX ENG SCI  
>
>
CALC 4 5 6 *
  FIX ENG SCI PREC
 +--------+--------+--------+--------+--------+
f 1 2 3 -
Added:
>
>
  p n u m
 
  XOR AND NOT OR
+--------+--------+--------+--------+--------+
ON/OFF 0 .   +
Added:
>
>
  k M G T
 
  1'S 2'S UNSGN  
+--------+--------+--------+--------+--------+

Revision 22024-05-24 - PeterSchmid

Line: 1 to 1
 
META TOPICPARENT name="WebHome"

Forth Calculator

+--------+--------+--------+--------+--------+
Changed:
<
<
         
         
+--------+--------+--------+--------+--------+
         
         
+--------+--------+--------+--------+--------+
         
         
>
>
Pi 1/x x^2 LOG LN
  y^x SQRT 10^x e^x
A B C D E
 +--------+--------+--------+--------+--------+
STO RCL SIN COS TAN
    ASIN ACOS ATAN
Added:
>
>
    SL RL SR RR F
 +--------+--------+--------+--------+--------+
Changed:
<
<
ENTER   NEG EXP BS
         
>
>
ENTER SWAP NEG EXP BS
  ROT ABS   CLEAR
 +--------+--------+--------+--------+--------+
CLOCK 7 8 9 /
Changed:
<
<
         
>
>
  FLOAT DEC HEX BIN
 +--------+--------+--------+--------+--------+
CALC 4 5 6 x
Changed:
<
<
         
>
>
  FIX ENG SCI  
 +--------+--------+--------+--------+--------+
Changed:
<
<
SHIFT 1 2 3 -
         
>
>
f 1 2 3 -
  XOR AND NOT OR
 +--------+--------+--------+--------+--------+
ON/OFF 0 .   +
Changed:
<
<
         
>
>
  1'S 2'S UNSGN  
 +--------+--------+--------+--------+--------+
Deleted:
<
<
 

-- Peter Schmid - 2024-05-24

Revision 12024-05-24 - PeterSchmid

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="WebHome"

Forth Calculator

+--------+--------+--------+--------+--------+
|        |        |        |        |        |
|        |        |        |        |        |
+--------+--------+--------+--------+--------+
|        |        |        |        |        |
|        |        |        |        |        |
+--------+--------+--------+--------+--------+
|        |        |        |        |        |
|        |        |        |        |        |
+--------+--------+--------+--------+--------+
| STO    | RCL    | SIN    | COS    | TAN    |
|        |        | ASIN   | ACOS   | ATAN   |
+--------+--------+--------+--------+--------+
| ENTER  |        | NEG    | EXP    | BS     |
|        |        |        |        |        |
+--------+--------+--------+--------+--------+
| CLOCK  | 7      | 8      | 9      | /      |
|        |        |        |        |        |
+--------+--------+--------+--------+--------+
| CALC   | 4      | 5      | 6      | x      |
|        |        |        |        |        |
+--------+--------+--------+--------+--------+
| SHIFT  | 1      | 2      | 3      | -      |
|        |        |        |        |        |
+--------+--------+--------+--------+--------+
| ON/OFF | 0      | .      |        | +      |
|        |        |        |        |        |
+--------+--------+--------+--------+--------+


-- Peter Schmid - 2024-05-24

Comments

<--/commentPlugin-->
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback