Plang Reader

A command line interface PLANG reader which is hardwired to read a PLANG database named bitfields.db in the same directory. Plang has been tested under FreeBSD but not any other Unix as yet.

Usage

PLANG
A Peripheral Language for Microcontrollers.
This PLANG reader is hardwired to read a PLANG Sqlite3 database named "bitfields.db" in the same directory.

USAGE
plang  -p<peripheral-name [ optional: -b<bitfield name> -d<description> ] [-S --Search] or [-L --List peripherals]
plang -h --This Help
plang -v --Version and Copyright notice.

EXAMPLES
List all peripherals:                                                                             ./plang -L or plang -p xxx -b xxx -d xxx -L
List everything in the *peripheral* "CRC":                                                        ./plang -p crc -S
Search "CRC" where the *description* is like "reset":                                             ./plang -p crc -d reset -S
Search "CRC" where the (Bitfield) *name* is like "reset":                                         ./plang -p crc -b reset -S
Search "CRC" where the (Bitfield) *name* is like "in" and the *description* is like "reverse":    ./plang -p crc -b in -d reverse -S

SEARCH
Uses "is like" (not "equals") and is case independent.
-p, -b and -d are ANDed together.

DEPENDENCIES
Unix, Sqlite, Shell, Getopt

Examples

For the STM32F051

List all peripherals

“L” overrides any existing search parameters. This makes it easy to switch between Listing and Searching.

plang -L or plang -p xxx -b xxx -d xxx -L

./plang -L

ADC     DAC     Flash   GPIOD   I2C2    RCC     SYSCFG  TIM16   TIM6    WWDG
CEC     DBGMCU  GPIOA   GPIOE   IWDG    RTC     TIM1    TIM17   TSC
COMP    DMA     GPIOB   GPIOF   NVIC    SPI1    TIM14   TIM2    USART1
CRC     EXTI    GPIOC   I2C1    PWR     SPI2    TIM15   TIM3    USART2

./plang -p xxx -b xxx -d xxx -L

ADC     DAC     Flash   GPIOD   I2C2    RCC     SYSCFG  TIM16   TIM6    WWDG
CEC     DBGMCU  GPIOA   GPIOE   IWDG    RTC     TIM1    TIM17   TSC
COMP    DMA     GPIOB   GPIOF   NVIC    SPI1    TIM14   TIM2    USART1
CRC     EXTI    GPIOC   I2C1    PWR     SPI2    TIM15   TIM3    USART2

WEB PAGE
https://mecrisp-stellaris-folkdoc.sourceforge.io/plang-reader.html

Search Examples

Peripheral Only

List everything in the peripheral “CRC”

./plang -p crc  -S

name                       stack                   word                  access  bitwidth  bitoffset  description
-------------------------  ----------------------  --------------------  ------  --------  ---------  ----------------------------------------
 cyclic redundancy check   -                       -                     -       -         -          -
 CRC_DR                     Reset Value $FFFFFFFF  -                     -       -         -          -
 CRC_DR_DR<<                  ( %32 --  x )                                rw    32        0          Data register bits
 CRC_IDR                    Reset Value $00000000  -                     -       -         -          -
 CRC_IDR_IDR<<                ( %8 --  x )                                 rw    8         0          General-purpose 8-bit data register  bit
 CRC_CR                     Reset Value $00000000  -                     -       -         -          -
 CRC_CR_RESET                  ( --  1 )             1                     rw    1         0          reset bit
 CRC_CR_REV_IN<<              ( %2 --  x )          5 lshift               rw    2         5          Reverse input data
 CRC_CR_REV_OUT                ( --  x )             1 7 lshift            rw    1         7          Reverse output data
 CRC_INIT stm32f103c8                  Reset Value $FFFFFFFF  -                     -       -         -          -
 CRC_INIT_INIT<<              ( %32 --  x )                                rw    32        0          Programmable initial CRC  value

Peripheral and Description

“CRC” where the description is like “reset”

./plang -p crc -d reset -S

name                       stack                   word                  access  bitwidth  bitoffset  description
-------------------------  ----------------------  --------------------  ------  --------  ---------  ----------------------------------------
 CRC_CR_RESET                  ( --  1 )             1                     rw    1         0          reset bit

Peripheral and Name

“CRC” where the (Bitfield) name is like “reset”

./plang -p crc -b reset -S

name                       stack                   word                  access  bitwidth  bitoffset  description
-------------------------  ----------------------  --------------------  ------  --------  ---------  ----------------------------------------
CRC_CR_RESET                  ( --  1 )             1                     rw    1         0          reset bit

Peripheral, Name and Description

“CRC” where the (Bitfield) name is like “in” and the description is like “reverse”

./plang -p crc -b in -d reverse -S

name                       stack                   word                  access  bitwidth  bitoffset  description
-------------------------  ----------------------  --------------------  ------  --------  ---------  ----------------------------------------
 CRC_CR_REV_IN<<              ( %2 --  x )          5 lshift               rw    2         5          Reverse input data

See also

PLANG

See also

Bitfields