pico430prog/src/main.c

53 lines
1.1 KiB
C
Raw Normal View History

2021-09-26 22:45:46 +00:00
/**
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <stdio.h>
2021-09-27 14:10:02 +00:00
#include <hardware/gpio.h>
2021-09-26 22:45:46 +00:00
#include <pico/stdlib.h>
#include <pico/binary_info.h>
#include "pio_sbw.h"
void printbuf(const uint8_t* buf, size_t size) {
2021-09-27 14:10:02 +00:00
for (size_t i = 0; i < size; ++i)
2021-09-26 22:45:46 +00:00
printf("%02x%c", buf[i], i % 16 == 15 ? '\n' : ' ');
}
int main() {
2021-09-27 14:10:02 +00:00
gpio_init(PINOUT_SBW_TCK);
gpio_set_function(PINOUT_SBW_TCK, GPIO_FUNC_SIO);
gpio_set_dir(PINOUT_SBW_TCK, true);
gpio_put(PINOUT_SBW_TCK, true);
2021-09-26 22:45:46 +00:00
stdio_init_all();
bool s = sbw_init();
2021-09-27 14:10:02 +00:00
printf("%s\n", s ? "inited" : "failure");
uint8_t tdi = 0x0f, tdo = 0;
sbw_sequence(8, true, &tdi, &tdo);
printf("seq done, tdo=%02x\n", tdo);
uint8_t tms = 0xf0;
sbw_tms_sequence(8, true, &tms);
printf("tmsseq done\n");
printf("%s tclk:\n", "set");
sbw_set_tclk();
printf("%s tclk:\n", "clr");
sbw_clr_tclk();
printf("%s tclk:\n", "set");
sbw_set_tclk();
printf("%s tclk:\n", "clr");
sbw_clr_tclk();
printf("doing a tclk burst now!\n");
sbw_tclk_burst(16);
printf("done.\n");
2021-09-26 22:45:46 +00:00
return 0;
}