From: Simon Ruderich Date: Sat, 10 Feb 2024 14:20:19 +0000 (+0100) Subject: avr_isp: add dump for ATmega328/P X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-dumps.git;a=commitdiff_plain;h=HEAD;hp=c7692e182af6f603db6511ebae5109723cab42f1 avr_isp: add dump for ATmega328/P --- diff --git a/Makefile b/Makefile index 349760d..9820eaa 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,42 @@ VERSION = "0.1.0" -DESTDIR ?= /usr/local/share/sigrok-dumps +# TODO Ideally instructions would use autotools, cmake, or some other +# higher level abstraction instead of DIY shell commands. Which would +# improve portability and robustness (by picking the most appropriate +# install tool that is available on the target), and would transparently +# enable support for --prefix and DESTDIR et al, including out of source +# builds when desired. +PREFIX ?= /usr/local +INSTALL_DIR = $(PREFIX)/share/sigrok-dumps + +# Be explicit about which files or subdirectories to install. +# Update this list when adding a new top level subdirectory to the +# set of example captures. It's assumed that this event is rare. +# The list is phrased such that users can specify additional items +# when they invoke the 'make install' command. +FILES_DIRS += ac97 am230x arm_trace aud avr_isp avr_pdi +FILES_DIRS += caliper can cec +FILES_DIRS += dac dali dcc dcf77 display dmx512 dsi +FILES_DIRS += flexray fsk +FILES_DIRS += gpib graycode +FILES_DIRS += i2c i2s ir +FILES_DIRS += jtag +FILES_DIRS += led lens_mounts lpc +FILES_DIRS += maple_bus mcs48 mdio microwire miller misc morse mouse_sensors +FILES_DIRS += nfc nonstandard_eeproms +FILES_DIRS += onewire ook +FILES_DIRS += pjon ps2 pwm +FILES_DIRS += qi +FILES_DIRS += rc rfid +FILES_DIRS += sae-j1850 sdcard sdq sht7x signature sle44xx spdif spi +FILES_DIRS += stepper_motor swd swim +FILES_DIRS += tdm_audio +FILES_DIRS += uart usb usb_power_delivery +FILES_DIRS += vfd +FILES_DIRS += wiegand +FILES_DIRS += xy2-100 +FILES_DIRS += z80 all: @echo "Run 'make dist' to create a tarball." @@ -34,7 +69,5 @@ dist: ChangeLog @rm -f ChangeLog install: - @mkdir -p $(DESTDIR) - @cp -r * $(DESTDIR) - @rm -f $(DESTDIR)/Makefile - + @mkdir -p $(DESTDIR)$(INSTALL_DIR) + @cp -r $(FILES_DIRS) $(DESTDIR)$(INSTALL_DIR) diff --git a/README b/README index c71b143..724a738 100644 --- a/README +++ b/README @@ -16,6 +16,23 @@ Status sigrok-dumps is in a usable state and has had official tarball releases. +Installing +---------- + +Example captures need not get built or compiled, but can get installed. + + $ git clone git://sigrok.org/sigrok-dumps + $ cd sigrok-dumps + $ make install + +Optional PREFIX or DESTDIR specs are supported as well. + + $ make PREFIX=/usr install + $ make PREFIX=${HOME} install + + $ make DESTDIR=$( pwd )/rootfs install + + Contributing dumps ------------------ @@ -38,7 +55,7 @@ Mailing list IRC --- -You can find the sigrok developers in the #sigrok IRC channel on Freenode. +You can find the sigrok developers in the #sigrok IRC channel on Libera.Chat. Website diff --git a/ac97/analog_devices_ad1981a/README b/ac97/analog_devices_ad1981a/README new file mode 100644 index 0000000..02e105e --- /dev/null +++ b/ac97/analog_devices_ad1981a/README @@ -0,0 +1,39 @@ +------------------------------------------------------------------------------- +Analog Devices AD1981A: AC'97 data +------------------------------------------------------------------------------- + +This is set of example captures of the AC'97 data on an Analog Devices +AD1981A AC'97 2.2 audio codec. + +Details: +https://en.wikipedia.org/wiki/AC%2797 +https://www.analog.com/en/products/ad1981a.html + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Saleae Logic16 (at 50/100 MHz): + + Probe AD1981A + ------------------- + 0 BIT_CLK + 1 SDATA_IN + 2 SYNC + 3 RESET# (only in the 50MHz captures) + +SDATA_OUT never toggled, so it was omitted. + + +ac97_ad1981a_powerup1*.sr +------------------------- + +The data is the first chunk of traffic that occurs on an random mainboard +(which contains the AD1981A) during BIOS power-up. + + +ac97_ad1981a_powerup2*.sr +------------------------- + +Same as above, but this is a snippet of the second chunk of data that occurs +a few seconds after the first chunk. diff --git a/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup1.sr b/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup1.sr new file mode 100644 index 0000000..3ce0db0 Binary files /dev/null and b/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup1.sr differ diff --git a/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup1_100mhz.sr b/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup1_100mhz.sr new file mode 100644 index 0000000..f2cc670 Binary files /dev/null and b/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup1_100mhz.sr differ diff --git a/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup2.sr b/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup2.sr new file mode 100644 index 0000000..6f30767 Binary files /dev/null and b/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup2.sr differ diff --git a/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup2_100mhz.sr b/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup2_100mhz.sr new file mode 100644 index 0000000..366b341 Binary files /dev/null and b/ac97/analog_devices_ad1981a/ac97_ad1981a_powerup2_100mhz.sr differ diff --git a/avr_isp/atmega328p/README.txt b/avr_isp/atmega328p/README.txt new file mode 100644 index 0000000..8c9c366 --- /dev/null +++ b/avr_isp/atmega328p/README.txt @@ -0,0 +1,32 @@ +------------------------------------------------------------------------------- +AVR ISP / Atmel ATmega328/P +------------------------------------------------------------------------------- + +This is an example capture of the AVR in-system programming (ISP) protocol. + +The device used for ISP was a Bus Pirate v3.5 with firmware v6.1. + +The target was an Arduino UNO board with an Atmel ATmega328/P chip. + +The PC software used for controlling the programmer was avrdude 7.1. + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Saleae Logic Clone (at 4MHz): + + Probe AVR ISP header + ------------------------- + 1 MOSI + 2 MISO + 3 SCK + 4 RST + + +Data +---- + +The following avrdude commands were captured: + + avrdude -p atmega328p -c buspirate -P /dev/ttyUSB0 -v diff --git a/avr_isp/atmega328p/isp_atmega328p_buspirate_scan.sr b/avr_isp/atmega328p/isp_atmega328p_buspirate_scan.sr new file mode 100644 index 0000000..5b611d2 Binary files /dev/null and b/avr_isp/atmega328p/isp_atmega328p_buspirate_scan.sr differ diff --git a/avr_isp/atmega8L/README.txt b/avr_isp/atmega8L/README.txt new file mode 100644 index 0000000..af48863 --- /dev/null +++ b/avr_isp/atmega8L/README.txt @@ -0,0 +1,22 @@ +------------------------------------------------------------------------------- +AVR ISP / Atmel ATmega8L +------------------------------------------------------------------------------- + +This is a set of example captures of the AVR in-system programming (ISP) +protocol. The target was a board with an Atmel ATmega8L chip, and another +microcontroller was used as master for the ISP process. + +Details: +http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Saleae Logic (at 4MHz): + + Probe AVR ISP header + ------------------------- + 5 (green) MOSI + 6 (blue) CLK + 7 (violet) MOSI diff --git a/avr_isp/atmega8L/isp_atmega8L_load_program_page.sr b/avr_isp/atmega8L/isp_atmega8L_load_program_page.sr new file mode 100644 index 0000000..b30a127 Binary files /dev/null and b/avr_isp/atmega8L/isp_atmega8L_load_program_page.sr differ diff --git a/avr_isp/atmega8L/isp_atmega8L_read_eeprom.sr b/avr_isp/atmega8L/isp_atmega8L_read_eeprom.sr new file mode 100644 index 0000000..f1d3fa8 Binary files /dev/null and b/avr_isp/atmega8L/isp_atmega8L_read_eeprom.sr differ diff --git a/avr_isp/atmega8L/isp_atmega8L_read_lock.sr b/avr_isp/atmega8L/isp_atmega8L_read_lock.sr new file mode 100644 index 0000000..4600014 Binary files /dev/null and b/avr_isp/atmega8L/isp_atmega8L_read_lock.sr differ diff --git a/avr_isp/atmega8L/isp_atmega8L_read_program.sr b/avr_isp/atmega8L/isp_atmega8L_read_program.sr new file mode 100644 index 0000000..5042714 Binary files /dev/null and b/avr_isp/atmega8L/isp_atmega8L_read_program.sr differ diff --git a/avr_isp/atmega8L/isp_atmega8L_write_program_page.sr b/avr_isp/atmega8L/isp_atmega8L_write_program_page.sr new file mode 100644 index 0000000..9d2a8d6 Binary files /dev/null and b/avr_isp/atmega8L/isp_atmega8L_write_program_page.sr differ diff --git a/caliper/caliper-123.45mm.sr b/caliper/caliper-123.45mm.sr new file mode 100644 index 0000000..f05298f Binary files /dev/null and b/caliper/caliper-123.45mm.sr differ diff --git a/caliper/caliper-1mm.sr b/caliper/caliper-1mm.sr new file mode 100644 index 0000000..720b650 Binary files /dev/null and b/caliper/caliper-1mm.sr differ diff --git a/caliper/caliper0.0005in.sr b/caliper/caliper0.0005in.sr new file mode 100644 index 0000000..a3ec0a0 Binary files /dev/null and b/caliper/caliper0.0005in.sr differ diff --git a/caliper/caliper0.5555in.sr b/caliper/caliper0.5555in.sr new file mode 100644 index 0000000..a9b4848 Binary files /dev/null and b/caliper/caliper0.5555in.sr differ diff --git a/caliper/caliper0.55mm.sr b/caliper/caliper0.55mm.sr new file mode 100644 index 0000000..47db862 Binary files /dev/null and b/caliper/caliper0.55mm.sr differ diff --git a/caliper/caliper0.5in.sr b/caliper/caliper0.5in.sr new file mode 100644 index 0000000..e56af68 Binary files /dev/null and b/caliper/caliper0.5in.sr differ diff --git a/caliper/caliper0.5mm.sr b/caliper/caliper0.5mm.sr new file mode 100644 index 0000000..e42a792 Binary files /dev/null and b/caliper/caliper0.5mm.sr differ diff --git a/caliper/caliper0in.sr b/caliper/caliper0in.sr new file mode 100644 index 0000000..d558e45 Binary files /dev/null and b/caliper/caliper0in.sr differ diff --git a/caliper/caliper0mm.sr b/caliper/caliper0mm.sr new file mode 100644 index 0000000..d37ac3d Binary files /dev/null and b/caliper/caliper0mm.sr differ diff --git a/caliper/caliper100mm.sr b/caliper/caliper100mm.sr new file mode 100644 index 0000000..6d149c6 Binary files /dev/null and b/caliper/caliper100mm.sr differ diff --git a/caliper/caliper10mm.sr b/caliper/caliper10mm.sr new file mode 100644 index 0000000..5e346f7 Binary files /dev/null and b/caliper/caliper10mm.sr differ diff --git a/caliper/caliper123.45mm.sr b/caliper/caliper123.45mm.sr new file mode 100644 index 0000000..ad927e6 Binary files /dev/null and b/caliper/caliper123.45mm.sr differ diff --git a/caliper/caliper55.55mm.sr b/caliper/caliper55.55mm.sr new file mode 100644 index 0000000..a4f5c2b Binary files /dev/null and b/caliper/caliper55.55mm.sr differ diff --git a/caliper/caliper5in.sr b/caliper/caliper5in.sr new file mode 100644 index 0000000..04d4dcc Binary files /dev/null and b/caliper/caliper5in.sr differ diff --git a/can/can_fd/arbitrary_traffic/can_fd_without_brs_8.sr b/can/can_fd/arbitrary_traffic/can_fd_without_brs_8.sr deleted file mode 100644 index ab98528..0000000 Binary files a/can/can_fd/arbitrary_traffic/can_fd_without_brs_8.sr and /dev/null differ diff --git a/dac/ad5626/README b/dac/ad5626/README new file mode 100644 index 0000000..32d18da --- /dev/null +++ b/dac/ad5626/README @@ -0,0 +1,34 @@ +------------------------------------------------------------------------------- +Analog Devices AD5626 +------------------------------------------------------------------------------- + +This is a set of example captures of an Analog Devices AD5626 12-bit nanoDAC. + +Details: +https://www.analog.com/media/en/technical-documentation/data-sheets/AD5626.pdf + + +Logic analyzer setup +-------------------- + +The logic analyzer used was ADALM2000 (at 5MHz): + + Probe AD5626 + ------------------ + 0 SCLK + 1 SDIN + 2 CS# + + +Probing +------- + +The sigrok command line used was: + + sigrok-cli -i - -I binary:numchannels=16:samplerate=5mhz -C 0-2 -o + + +ad5626_write_dac.sr +------------------- + +m2kcli digital auto -c buffer_size=10000 nb_samples=5000000 format=binary | sigrok-cli -i - -I binary:numchannels=16:samplerate=5mhz -o ad5626_write_dac.sr -C 0-2 diff --git a/dac/ad5626/ad5626_write_dac.sr b/dac/ad5626/ad5626_write_dac.sr new file mode 100644 index 0000000..dd8a8b5 Binary files /dev/null and b/dac/ad5626/ad5626_write_dac.sr differ diff --git a/dcc/easycontrol/README b/dcc/easycontrol/README new file mode 100644 index 0000000..72699c3 --- /dev/null +++ b/dcc/easycontrol/README @@ -0,0 +1,34 @@ +------------------------------------------------------------------------------- +DCC model train captures +------------------------------------------------------------------------------- + +These captures contain data that was recorded on a model railway setup that +is based on the tams elektronik EasyControl controller. The booster used was +a self-built tams elektronik B-2 booster. + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Saleae Logic clone (samplerate 1MHz). The +signal was captured via a simple voltage clamping circuit. + + Probe DCC + ------------------- + 1 Data + + +Captures +-------- + +Since the controller continuously resends the data, the captures do +contain more than what is stated here. + + Capture Action + ---------------------------------------------------------------------- + decoder_2_light.sr switch light on train with address 2 + decoder_45_light.sr switch light on train with address 45 + decoder_120_121.sr switch state of decoder 120, 121 + decoder_133.sr switch state of decoder 133 + decoder_140.sr switch state of decoder 140 + decoder_310.sr switch state of decoder 310 diff --git a/dcc/easycontrol/decoder_120_121.sr b/dcc/easycontrol/decoder_120_121.sr new file mode 100644 index 0000000..ad3242e Binary files /dev/null and b/dcc/easycontrol/decoder_120_121.sr differ diff --git a/dcc/easycontrol/decoder_133.sr b/dcc/easycontrol/decoder_133.sr new file mode 100644 index 0000000..9b0a9f8 Binary files /dev/null and b/dcc/easycontrol/decoder_133.sr differ diff --git a/dcc/easycontrol/decoder_140.sr b/dcc/easycontrol/decoder_140.sr new file mode 100644 index 0000000..651b80d Binary files /dev/null and b/dcc/easycontrol/decoder_140.sr differ diff --git a/dcc/easycontrol/decoder_2_light.sr b/dcc/easycontrol/decoder_2_light.sr new file mode 100644 index 0000000..70a02ab Binary files /dev/null and b/dcc/easycontrol/decoder_2_light.sr differ diff --git a/dcc/easycontrol/decoder_310.sr b/dcc/easycontrol/decoder_310.sr new file mode 100644 index 0000000..d304efa Binary files /dev/null and b/dcc/easycontrol/decoder_310.sr differ diff --git a/dcc/easycontrol/decoder_45_light.sr b/dcc/easycontrol/decoder_45_light.sr new file mode 100644 index 0000000..fb0605b Binary files /dev/null and b/dcc/easycontrol/decoder_45_light.sr differ diff --git a/display/hd44780/README b/display/hd44780/README index 9dc2e29..6112285 100644 --- a/display/hd44780/README +++ b/display/hd44780/README @@ -11,8 +11,8 @@ means that data gets communicated on lined D4-D7 only, and D0-D3 are not connected. -Logic analyzer setup --------------------- +Logic analyzer setup (hd44780-reset-init-hello.sr) +-------------------------------------------------- The capture was taken with an ASIX Sigma2 logic analyzer, sampling 8 logic channels at a rate of 50MHz: @@ -29,8 +29,8 @@ logic channels at a rate of 50MHz: 8 D7 -Data ----- +hd44780-reset-init-hello.sr +--------------------------- See https://en.wikipedia.org/wiki/Hitachi_HD44780_LCD_controller for a list of display controller commands, and especially the 'Mode Selection' @@ -49,3 +49,122 @@ can extract the most basic information: Clock on E (falling edge), D4-D7 of the display corresponds to D0-D3 of the decoder (D4-D7 of the decoder are not connected). Words consist of 8 bits (span 2 bus cycles), and are in big endian format. + + +Logic analyzer setup (other files) +---------------------------------- + +The capture was taken with a Saleae Logic clone (mostly at 200kHz): + + Probe HD44780 + ------------------- + 0 RS (selects "commands" and "display data" mode) + 1 E (enable, falling edge clocks data transfers) + 2 D4 (data lines...) + 3 D5 + 4 D6 + 5 D7 + + +hd44780-blink.sr +---------------- + +Arduino firmware based on the LiquidCrystal example Arduino Sketch. + +This is what the decoded data should look like: + + - initialization + - write "hello, world!" + - toggle blinking every 3 seconds + + +hd44780-cursor.sr +----------------- + +Arduino firmware based on the LiquidCrystal example Arduino Sketch. + +This is what the decoded data should look like: + + - initialization + - write "hello, world!" + - toggle cursor every 0.5 seconds + + +hd44780-customcharacter.sr +-------------------------- + +Arduino firmware based on the LiquidCrystal example Arduino Sketch. + +This is what the decoded data should look like: + + - initialization + - define special characters: heart, smiling face, unhappy face, stickman + with arms low, stickman with arms up + - write "I {heart} Arduino {smiling face}" and " {stickman with arms low}" + - toggle second line between " {stickman with arms low}" and + " {stickman with arms up}" about (!) every 0.9 seconds + + +hd44780-font.sr +--------------- + +Arduino firmware based on the LiquidCrystal example Arduino Sketch. + +This is what the decoded data should look like: + + - initialization + - define special characters: heart, smiling face, unhappy face, stickman + with arms low, stickman with arms up + - every about 250ms a set of 2 * 16 characters are written to the display, + starting at 0 + + +hd44780-power.sr +---------------- + +Arduino firmware based on the LiquidCrystal example Arduino Sketch. + +This is what the decoded data should look like: + + - initialization + - write "hello, world!" + - toggle display power every 0.5 seconds + + +hd44780-shift.sr +---------------- + +Arduino firmware based on the LiquidCrystal example Arduino Sketch. + +This is what the decoded data should look like: + + - initialization + - write "hello, world!" + - repeats: + - shift text to the left until it is outside the view + - shift text to the right until it is outside the view + - shift text to the left until it is where it was before shifting + + +hd44780-shiftcursor_204.sr +-------------------------- + +This is what the decoded data should look like: + + - initialization + - write "hello, world!" + - using cursor shifts it replaces the ! by ?, w by W and h by H, so it is + "Hello, World?" in the end + + +hd44780-textdirection.sr +------------------------ + +Arduino firmware based on the LiquidCrystal example Arduino Sketch. + +This is what the decoded data should look like: + + - initialization + - write "abcdefghijklm" + - continue to the left until "s" + - continue to the right until "z" diff --git a/display/hd44780/hd44780-blink.sr b/display/hd44780/hd44780-blink.sr new file mode 100644 index 0000000..403966c Binary files /dev/null and b/display/hd44780/hd44780-blink.sr differ diff --git a/display/hd44780/hd44780-cursor.sr b/display/hd44780/hd44780-cursor.sr new file mode 100644 index 0000000..2e5b1f8 Binary files /dev/null and b/display/hd44780/hd44780-cursor.sr differ diff --git a/display/hd44780/hd44780-customcharacter.sr b/display/hd44780/hd44780-customcharacter.sr new file mode 100644 index 0000000..7ca62a8 Binary files /dev/null and b/display/hd44780/hd44780-customcharacter.sr differ diff --git a/display/hd44780/hd44780-font.sr b/display/hd44780/hd44780-font.sr new file mode 100644 index 0000000..e0d4dc2 Binary files /dev/null and b/display/hd44780/hd44780-font.sr differ diff --git a/display/hd44780/hd44780-power.sr b/display/hd44780/hd44780-power.sr new file mode 100644 index 0000000..6935ea5 Binary files /dev/null and b/display/hd44780/hd44780-power.sr differ diff --git a/display/hd44780/hd44780-scroll.sr b/display/hd44780/hd44780-scroll.sr new file mode 100644 index 0000000..c56965b Binary files /dev/null and b/display/hd44780/hd44780-scroll.sr differ diff --git a/display/hd44780/hd44780-shiftcursor.sr b/display/hd44780/hd44780-shiftcursor.sr new file mode 100644 index 0000000..cf41c0a Binary files /dev/null and b/display/hd44780/hd44780-shiftcursor.sr differ diff --git a/display/hd44780/hd44780-test_204.sr b/display/hd44780/hd44780-test_204.sr new file mode 100644 index 0000000..2035ccc Binary files /dev/null and b/display/hd44780/hd44780-test_204.sr differ diff --git a/display/hd44780/hd44780-textdirection.sr b/display/hd44780/hd44780-textdirection.sr new file mode 100644 index 0000000..1ad5be5 Binary files /dev/null and b/display/hd44780/hd44780-textdirection.sr differ diff --git a/display/seven_segment/README b/display/seven_segment/README new file mode 100644 index 0000000..434ce89 --- /dev/null +++ b/display/seven_segment/README @@ -0,0 +1,56 @@ +------------------------------------------------------------------------------- +Generic 7-segment display +------------------------------------------------------------------------------- + +These are files containing data to test the function of the seven_segment +protocol decoder. + + +Logic analyzer setup +-------------------- + +Two files were generated without logic analyzer. + +For the last file a Saleae Logic clone was used (at 20kHz). + + Probe Display pin + -------------------------- + 0 A + 1 B + 2 C + 3 D + 4 E + 5 F + 6 G + 7 DP + + +test_7_segment_0-9.sr +--------------------- + +Cycles through the numbers 0 to 9. + + +test_7_segment_0-f.sr +--------------------- + +Cycles through the numbers 0 to F. + + +test_7_segment_slow.sr +---------------------- + +Cycles through the numbers 0 to F with alternating dot. + + +test_7_segment_all_alphabet.sr +------------------------------ + +Covers more combinations of LED segments, including alphanumeric codes +(letters, punctuation). + + +mystery_message.sr +------------------ + +Contains LED segment combinations that are not known to the decoder. diff --git a/display/seven_segment/mystery_message.sr b/display/seven_segment/mystery_message.sr new file mode 100644 index 0000000..60eb84a Binary files /dev/null and b/display/seven_segment/mystery_message.sr differ diff --git a/display/seven_segment/test_7_segment_0-9.sr b/display/seven_segment/test_7_segment_0-9.sr new file mode 100644 index 0000000..977bf80 Binary files /dev/null and b/display/seven_segment/test_7_segment_0-9.sr differ diff --git a/display/seven_segment/test_7_segment_0-F.sr b/display/seven_segment/test_7_segment_0-F.sr new file mode 100644 index 0000000..7cf0302 Binary files /dev/null and b/display/seven_segment/test_7_segment_0-F.sr differ diff --git a/display/seven_segment/test_7_segment_all_alphabet.sr b/display/seven_segment/test_7_segment_all_alphabet.sr new file mode 100644 index 0000000..b644933 Binary files /dev/null and b/display/seven_segment/test_7_segment_all_alphabet.sr differ diff --git a/display/seven_segment/test_7_segment_slow.sr b/display/seven_segment/test_7_segment_slow.sr new file mode 100644 index 0000000..2b9e7c6 Binary files /dev/null and b/display/seven_segment/test_7_segment_slow.sr differ diff --git a/display/st7735/README b/display/st7735/README index 0c76111..44755a2 100644 --- a/display/st7735/README +++ b/display/st7735/README @@ -37,3 +37,28 @@ Long pauses are caused be sleeps for a few hundreds of milliseconds, which are required by the spec. Other oddities like frequent changes of CS are caused by specific library implementation. + +Dump with unknown command +------------------------- + +Taken with the same setup as above on a 128x160 display with Arduino TFT library +and the following code: + + #include + #include + + #define cs 10 + #define dc 9 // A0 + #define rst 8 + + TFT TFTscreen = TFT(cs, dc, rst); + + void setup() + { + TFTscreen.begin(); + TFTscreen.background(0, 255, 0); + } + + void loop() + { + } diff --git a/display/st7735/st7735_unknown_command.sr b/display/st7735/st7735_unknown_command.sr new file mode 100644 index 0000000..33f3d5e Binary files /dev/null and b/display/st7735/st7735_unknown_command.sr differ diff --git a/display/st7735/st7735_unknown_command_snippet.sr b/display/st7735/st7735_unknown_command_snippet.sr new file mode 100644 index 0000000..24d8052 Binary files /dev/null and b/display/st7735/st7735_unknown_command_snippet.sr differ diff --git a/dmx512/dmx4all_mini_usb_dmx/README b/dmx512/dmx4all_mini_usb_dmx/README index a37205f..0021b67 100644 --- a/dmx512/dmx4all_mini_usb_dmx/README +++ b/dmx512/dmx4all_mini_usb_dmx/README @@ -1,9 +1,9 @@ ------------------------------------------------------------------------------- -DMX512-A +DMX512-A / DMX4ALL Mini-USB-DMX-Interface ------------------------------------------------------------------------------- -This is a set of example captures of DMX512 packets from a USB -interface (DMX4ALL Mini interface), driven by a lighting control +This is a set of example captures of DMX512 packets from a +DMX4ALL Mini-USB-DMX-Interface, driven by a lighting control software loaded with 10 basic dimmer fixtures located at DMX addresses 1, 2, 101, 102, 201, 202, 301, 302, 401 and 402. @@ -11,9 +11,11 @@ The signal was grabbed directly at the interface without any actual fixtures attached to the bus. Details: -http://www.dmx512-online.com/packt.html -http://www.erwinrol.com/dmx512/ +https://en.wikipedia.org/wiki/DMX512 +http://www.dmx512-online.com/dmx512_packet.html +https://www.erwinrol.com/page/articles/dmx512/ https://wiki.openlighting.org/index.php/DMX512-A +https://www.dmx4all.de/produkt-archiv/ Logic analyzer setup diff --git a/dmx512/ma_lighting/README b/dmx512/ma_lighting/README new file mode 100644 index 0000000..484af6f --- /dev/null +++ b/dmx512/ma_lighting/README @@ -0,0 +1,27 @@ +------------------------------------------------------------------------------- +DMX512-A / MA Lighting dot2 +------------------------------------------------------------------------------- + +This is a set of example captures of DMX512 packets from an MA Lighting +dot2 lightining desk. + +The signal was grabbed directly at the interface without any actual +fixtures attached to the bus. + +Details: +https://en.wikipedia.org/wiki/DMX512 +https://www.malighting.com/dot2/ + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Saleae Logic clone (at 1MHz): + + Probe 3-pin XLR DMX connector + ----------------------------------- + 0 DMX+ (3) + 1 DMX- (2) + +The files are named _.sr, with being +the dimmerlevel of the first 255 channels. Any other channel will be at 0. diff --git a/dmx512/ma_lighting/dot2_0-255.sr b/dmx512/ma_lighting/dot2_0-255.sr new file mode 100644 index 0000000..45c09b9 Binary files /dev/null and b/dmx512/ma_lighting/dot2_0-255.sr differ diff --git a/dmx512/ma_lighting/dot2_0.sr b/dmx512/ma_lighting/dot2_0.sr new file mode 100644 index 0000000..b5a98db Binary files /dev/null and b/dmx512/ma_lighting/dot2_0.sr differ diff --git a/dmx512/nicolaudie/README b/dmx512/nicolaudie/README new file mode 100644 index 0000000..ed10f3d --- /dev/null +++ b/dmx512/nicolaudie/README @@ -0,0 +1,28 @@ +------------------------------------------------------------------------------- +DMX512-A / Nicolaudie/Sunlite Suite 2 BC +------------------------------------------------------------------------------- + +This is a set of example captures of DMX512 packets from a +Nicolaudie/Sunlite Suite 2 BC (Basic Class) USB interface. + +The signal was grabbed directly at the interface without any actual +fixtures attached to the bus. + +Details: +https://en.wikipedia.org/wiki/DMX512 +https://www.nicolaudie.com/ +https://www.sunlitepro.com/en/hardware.htm + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Saleae Logic clone (at 1MHz): + + Probe 3-pin XLR DMX connector + ----------------------------------- + 0 DMX+ (3) + 1 DMX- (2) + +The files are named _.sr, with being +the dimmerlevel of the first 255 channels. Any other channel will be at 0. diff --git a/dmx512/nicolaudie/sunlitesuite2bc_0-255.sr b/dmx512/nicolaudie/sunlitesuite2bc_0-255.sr new file mode 100644 index 0000000..7daa5b2 Binary files /dev/null and b/dmx512/nicolaudie/sunlitesuite2bc_0-255.sr differ diff --git a/dmx512/nicolaudie/sunlitesuite2bc_0.sr b/dmx512/nicolaudie/sunlitesuite2bc_0.sr new file mode 100644 index 0000000..ec097c1 Binary files /dev/null and b/dmx512/nicolaudie/sunlitesuite2bc_0.sr differ diff --git a/dmx512/sgm/README b/dmx512/sgm/README new file mode 100644 index 0000000..a869e81 --- /dev/null +++ b/dmx512/sgm/README @@ -0,0 +1,27 @@ +------------------------------------------------------------------------------- +DMX512-A / SGM Regia 256 +------------------------------------------------------------------------------- + +This is a set of example captures of DMX512 packets from an SGM Regia 256 +lightining desk. + +The signal was grabbed directly at the interface without any actual +fixtures attached to the bus. + +Details: +https://en.wikipedia.org/wiki/DMX512 +https://sgmlight.com/products + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Saleae Logic clone (at 1MHz): + + Probe 3-pin XLR DMX connector + ----------------------------------- + 0 DMX+ (3) + 1 DMX- (2) + +The files are named _.sr, with being +the dimmerlevel of the first 255 channels. Any other channel will be at 0. diff --git a/dmx512/sgm/regia_0.sr b/dmx512/sgm/regia_0.sr new file mode 100644 index 0000000..2447f4f Binary files /dev/null and b/dmx512/sgm/regia_0.sr differ diff --git a/dmx512/u_dmx/README b/dmx512/u_dmx/README new file mode 100644 index 0000000..10260f2 --- /dev/null +++ b/dmx512/u_dmx/README @@ -0,0 +1,27 @@ +------------------------------------------------------------------------------- +DMX512-A / anyma µDMX +------------------------------------------------------------------------------- + +This is a set of example captures of DMX512 packets from an anyma uDMX +USB interface. + +The signal was grabbed directly at the interface without any actual +fixtures attached to the bus. + +Details: +https://en.wikipedia.org/wiki/DMX512 +https://www.anyma.ch/research/udmx/ + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Saleae Logic clone (at 1MHz): + + Probe 3-pin XLR DMX connector + ----------------------------------- + 0 DMX+ (3) + 1 DMX- (2) + +The files are named _.sr, with being +the dimmerlevel of the first 255 channels. Any other channel will be at 0. diff --git a/dmx512/u_dmx/u-dmx_0-255.sr b/dmx512/u_dmx/u-dmx_0-255.sr new file mode 100644 index 0000000..d10f976 Binary files /dev/null and b/dmx512/u_dmx/u-dmx_0-255.sr differ diff --git a/dmx512/u_dmx/u-dmx_0.sr b/dmx512/u_dmx/u-dmx_0.sr new file mode 100644 index 0000000..20f8b57 Binary files /dev/null and b/dmx512/u_dmx/u-dmx_0.sr differ diff --git a/gpib/hp1631d/README b/gpib/hp1631d/README index bebc979..9adda05 100644 --- a/gpib/hp1631d/README +++ b/gpib/hp1631d/README @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- -GPIB +GPIB / HP 1631D ------------------------------------------------------------------------------- This is an example capture of some GPIB traffic on an HP 1631D LA/scope. diff --git a/gpib/hp33120a/README b/gpib/hp33120a/README new file mode 100644 index 0000000..08f7df9 --- /dev/null +++ b/gpib/hp33120a/README @@ -0,0 +1,38 @@ +------------------------------------------------------------------------------- +GPIB / HP 33120A +------------------------------------------------------------------------------- + +This is an example capture of a *idn query to an HP33120A AWG using an +AR488 (Arduino bitbang GPIB adapter). + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a generic FX2 board (at 500kHz): + + + Probe GPIB + ---------------- + 0 DIO1 + 1 DIO2 + 2 DIO3 + 3 DIO4 + 4 DIO5 + 5 DIO6 + 6 DIO7 + 7 DIO8 + 8 EOI + 9 DAV + 10 NRFD + 11 NDAC + 12 IFC + 13 SRQ + 14 ATN + 15 REN + + +Data +---- + +Send *idn? and receive instrument ident string. diff --git a/gpib/hp33120a/hp33120a-idn.sr b/gpib/hp33120a/hp33120a-idn.sr new file mode 100644 index 0000000..f9b2d8f Binary files /dev/null and b/gpib/hp33120a/hp33120a-idn.sr differ diff --git a/gpib/hp53131a/README b/gpib/hp53131a/README new file mode 100644 index 0000000..fc5c2b8 --- /dev/null +++ b/gpib/hp53131a/README @@ -0,0 +1,54 @@ +------------------------------------------------------------------------------- +GPIB / HP 53131A +------------------------------------------------------------------------------- + +This is a set of captures of traffic with an HP53131A counter using an +AR488 (Arduino bitbang GPIB adapter). + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a generic FX2 board (at 500kHz): + + Probe GPIB + ---------------- + 0 DIO1 + 1 DIO2 + 2 DIO3 + 3 DIO4 + 4 DIO5 + 5 DIO6 + 6 DIO7 + 7 DIO8 + 8 EOI + 9 DAV + 10 NRFD + 11 NDAC + 12 IFC + 13 SRQ + 14 ATN + 15 REN + + +hp53131a-idn-read.sr +-------------------- + +Send *idn? and receive instrument ident string. +Send 'read?', wait for acquisition and receive a measurement (10MHz frequency). + + +hp53131a-ton.sr +--------------- + +Set HP53131A to period measurement and talk-only mode and AR488 to +listen-only mode. + +This setup is specifically useful for recording long logfiles of timing data +for use in ADEV measurements by "time-nuts": + + http://www.ke5fx.com/timelab/readme.htm + +Note: the regular NRFD/NDAC handshake occurring before and after the LON +transfer is related to the AR488 timing out non-existent transfers and may +be incorrect. diff --git a/gpib/hp53131a/hp53131a-idn-read.sr b/gpib/hp53131a/hp53131a-idn-read.sr new file mode 100644 index 0000000..e0edb3e Binary files /dev/null and b/gpib/hp53131a/hp53131a-idn-read.sr differ diff --git a/gpib/hp53131a/hp53131a-ton.sr b/gpib/hp53131a/hp53131a-ton.sr new file mode 100644 index 0000000..79bdcde Binary files /dev/null and b/gpib/hp53131a/hp53131a-ton.sr differ diff --git a/gpib/keithley2015/README b/gpib/keithley2015/README new file mode 100644 index 0000000..99e00a3 --- /dev/null +++ b/gpib/keithley2015/README @@ -0,0 +1,37 @@ +------------------------------------------------------------------------------- +GPIB / Keithley 2015 +------------------------------------------------------------------------------- + +This is an example capture of a *idn query to a Keithley 2015 DMM using +an AR488 (Arduino bitbang GPIB adapter). + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a generic FX2 board (at 500kHz): + + Probe GPIB + ---------------- + 0 DIO1 + 1 DIO2 + 2 DIO3 + 3 DIO4 + 4 DIO5 + 5 DIO6 + 6 DIO7 + 7 DIO8 + 8 EOI + 9 DAV + 10 NRFD + 11 NDAC + 12 IFC + 13 SRQ + 14 ATN + 15 REN + + +Data +---- + +Send *idn? and receive instrument ident string. diff --git a/gpib/keithley2015/keithley2015-idn.sr b/gpib/keithley2015/keithley2015-idn.sr new file mode 100644 index 0000000..bd6c6bf Binary files /dev/null and b/gpib/keithley2015/keithley2015-idn.sr differ diff --git a/i2c/hdcp/unknown_device/hdcp.sr b/i2c/hdcp/unknown_device/hdcp.sr new file mode 100644 index 0000000..3ffb417 Binary files /dev/null and b/i2c/hdcp/unknown_device/hdcp.sr differ diff --git a/i2c/ltc2607/README b/i2c/ltc2607/README new file mode 100644 index 0000000..73087d6 --- /dev/null +++ b/i2c/ltc2607/README @@ -0,0 +1,33 @@ +------------------------------------------------------------------------------- +Linear Technology Corporation LTC2607 +------------------------------------------------------------------------------- + +This is a set of example captures of LTC2607 16-bit rail-to-rail DACs. + +Details: +https://www.analog.com/media/en/technical-documentation/data-sheets/26071727fa.pdf + + +Logic analyzer setup +-------------------- + +The logic analyzer used was ADALM2000 (at 500kHz): + + Probe LTC2607 + ------------------- + 0 SCL + 1 SDA + + +Probing +------- + +The sigrok command line used was: + + sigrok-cli -i - -I binary:numchannels=16:samplerate=500khz -C 0,1 -o + + +ltc2607_write_dac.sr +-------------------- + +m2kcli digital auto -c buffer_size=10000 nb_samples=5000000 format=binary | sigrok-cli -i - -I binary:numchannels=16:samplerate=500khz -o ltc2607_write_dac.sr -C 0,1 diff --git a/i2c/ltc2607/ltc2607_write_dac.sr b/i2c/ltc2607/ltc2607_write_dac.sr new file mode 100644 index 0000000..46a8422 Binary files /dev/null and b/i2c/ltc2607/ltc2607_write_dac.sr differ diff --git a/i2c/microchip_mcp23017/README.md b/i2c/microchip_mcp23017/README.md new file mode 100644 index 0000000..9543798 --- /dev/null +++ b/i2c/microchip_mcp23017/README.md @@ -0,0 +1,53 @@ +------------------------------------------------------------------------------- +Microchip MCP23017 I/O expander with I2C interface +------------------------------------------------------------------------------- + +This is a set of example captures of the MCP23017 16-bit I/O expander with +an I2C interface. For details see the MCP23017/MCP23S17 datasheet which is +titled "16-Bit I/O Expander with Serial Interface": + + http://ww1.microchip.com/downloads/en/DeviceDoc/20001952C.pdf + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Saleae clone (samplerate 1MHz). In addition +to the I2C datalines, 6 output pins are captured too. + +The host was a Raspberry Pi using Python to access the I2C port. The bitrate +decreased after a few 100ms. + + Probe MCP23017 + ------------------- + 0 A0 + 1 A1 + 2 A2 + 3 B0 / A3 + 4 B1 / A4 + 5 B2 / A5 + 6 SDA + 7 SCL + + +mcp23017_counter_a_write.sr +--------------------------- + +Count the Registers OLATA ascending. The lowest 6 bits of the Output A Port +are captured too (A0 - A5). + + +mcp23017_counter_init_ab_write.sr +--------------------------------- + +Reset all registers, then count the registers OLATA ascending and OLATB +descending. Both registers are set using one word write operation. The +lowest 3 bits of both output ports are captured too (A0 - A2, B0 - B2). + + +mcp23017_counter_init_ab_write_read.sr +------------------------------------- + +Reset all registers, then count the registers OLATA ascending and OLATB +descending. Both registers are set and read using one word write operations. +The lowest 3 bits of both output ports are captured too (A0 - A2, B0 - B2). diff --git a/i2c/microchip_mcp23017/mcp23017_counter_a_write.sr b/i2c/microchip_mcp23017/mcp23017_counter_a_write.sr new file mode 100644 index 0000000..9a12416 Binary files /dev/null and b/i2c/microchip_mcp23017/mcp23017_counter_a_write.sr differ diff --git a/i2c/microchip_mcp23017/mcp23017_counter_init_ab_write.sr b/i2c/microchip_mcp23017/mcp23017_counter_init_ab_write.sr new file mode 100644 index 0000000..9b9caf4 Binary files /dev/null and b/i2c/microchip_mcp23017/mcp23017_counter_init_ab_write.sr differ diff --git a/i2c/microchip_mcp23017/mcp23017_counter_init_ab_write_read.sr b/i2c/microchip_mcp23017/mcp23017_counter_init_ab_write_read.sr new file mode 100644 index 0000000..8324e37 Binary files /dev/null and b/i2c/microchip_mcp23017/mcp23017_counter_init_ab_write_read.sr differ diff --git a/i2c/nxp_pca9571/README b/i2c/nxp_pca9571/README new file mode 100644 index 0000000..0e75f52 --- /dev/null +++ b/i2c/nxp_pca9571/README @@ -0,0 +1,44 @@ +------------------------------------------------------------------------------- +NXP PCA9571 +------------------------------------------------------------------------------- + +The NXP PCA9571 chip is an 8-bits I²C output expander. + +Details: +https://www.nxp.com/products/analog/interfaces/ic-bus/ic-general-purpose-i-o/remote-8-bit-general-purpose-outputs-for-1-mhz-i2c-bus:PCA9571 +https://www.nxp.com/docs/en/data-sheet/PCA9571.pdf + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Hobby Components HCTEST0006 (at 2 MHz): + + Probe I²C signal + ---------------------- + 0 SDA + 1 SCL + + +Data +---- + +The sigrok command line used was: + +sigrok-cli -d fx2lafw -c samplerate=2mhz --time