---
name: "ao-bitbang"
section: "1"
platform: "linux"
package: "altos"
version: "1.9.21-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ao-bitbang"
---

# ao-bitbang(1)

Low-level cc1111 interface diagnostic tool

## NAME

ao-bitbang - Low-level cc1111 interface diagnostic tool

## SYNOPSIS

**ao-bitbang**

## DESCRIPTION

*ao-bitbang* connects through a CP2103 usb-to-serial converter and uses the GPIO pins to communicate with the debug port on a cc1111 device. It provides raw access to the debug pins to help debug the lowest level communication path.

## USAGE

*ao-bitbang* reads a sequence of bit manipulations from stdin, sends them to the device and reports status on stdout.

Each line on stdin should contain a single letter command for each of the three debug lines on the cc1111 -- clock, data and reset. Each bit can be in one of three states -- on (C, D or R), off (.) or tri-state (-) for input. Empty lines, or lines starting with '#' are ignored. Anything beyond the last bit in a line is also ignored. The bits must be listed in the correct order, and the 'on' values must match the desired bit.

## EXAMPLE

- Reset the target device

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

- Get Chip ID

  ```
   #
   # 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
