AO-BITBANG(1)

πŸŽ€ AO-BITBANG(1) πŸŽ€

okay bestie, this is the manual page for ao-bitbang, a low-level cc1111 interface diagnostic tool πŸ’…βœ¨

🧚 SYNOPSIS 🧚

ao-bitbang

that's the whole synopsis, bestie 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so ao-bitbang connects through a CP2103 usb-to-serial converter πŸ”Œ and uses the GPIO pins to talk to the debug port on a cc1111 device. it gives you raw access to the debug pins so you can debug the lowest level communication path. literally the deepest dive 🌈

🌸 USAGE 🌸

ao-bitbang reads a sequence of bit manipulations from stdin, sends them to the device, and reports status on stdout. it's giving pipeline energy πŸ’–

each line on stdin should have a single letter command for each of the three debug lines on the cc1111: clock, data and reset. every bit can be in one of three states:

  • C, D or R β€” on πŸ”₯
  • . β€” off πŸŒ™
  • - β€” tri-state, for input πŸ¦‹

a few vibe rules:

  • empty lines, and lines starting with #, get ignored πŸ™ˆ
  • anything past the last bit in a line is also ignored
  • the bits must be listed in the correct order
  • the "on" values must match the desired bit, no cap πŸ‘‘

πŸ“ EXAMPLE πŸ“

πŸ’… Reset the target device πŸ’…

# reset
C D R
C D R
C D R
C D R

🧚 Get Chip ID 🧚

this one is a whole mood, bestie 😭 it does the reset, then the chip ID read, then a restart of the reading

#
# Debug mode - drive RESET_N low for two clock cycles
#
C D R
. D .
C D .
. D .
C D .
. D R

#
# GET_CHIP_ID

C . R     0
. . R
C D R     1
. D R
C D R     1
. D R
C . R     0
. . R

C D R     1
. D R
C . R     0
. . R
C . R     0
. . R
C . R     0
. . R

#
# start reading again
#

C D R
. - R
C - R
. - R
C - R
. - R
C - R
. - R

C - R
. - R
C - R
. - R
C - R
. - R
C - R
. - R

C - R
. - R
C - R
. - R
C - R
. - R
C - R
. - R

C - R
. - R
C - R
. - R
C - R
. - R
C - R
. - R

C D R

πŸ‘‘ AUTHOR πŸ‘‘

Keith Packard 🌈 the legend who wrote this πŸ’œ


that's a wrap, bestie! 🫢 this page came from the ao-bitbang source and is filed under AO-BITBANG(1) πŸ’–βœ¨

πŸ“¦ where this page comes from