GPIO Output Debugging with 3rd Party App

I loaded an app that is supposed to be outputting data from pin 15 (c1). How can I debug this output? I’ve tried connecting c1 to a serial monitor (Putty, baud rate is 4800) but I see nothing, and I worry that my GPIO pins aren’t outputting correctly. When the same output is coded in Arduino and loaded to an Arduino Pro Mini I do see serial output which makes me think either the application is broken or my Flipper is.

I know there is a manual GPIO pin test in the GPIO menu, but this doesn’t really seem to output anything either (while monitoring over serial). What type of debugger or monitor should I hook this up to in order to actually test these pins manually in the flipper GPIO menu? I’ve seen people online demonstrating basic tests with LEDs, but I’m not sure that’s what I need in this case.

I am not the author of the program but the basic structure of the function that is supposed to be sending the data is this:

void send_to_c1_pin(int somedata, int a, int b, int c, int d, int e) {
    int moredata = (somedata + a + b + c + d + e);

    furi_hal_gpio_init_simple(&gpio_ext_pc1, GpioModeOutputPushPull);
    furi_hal_gpio_write(&gpio_ext_pc1, false);
    furi_delay_ms(3.4);
    furi_hal_gpio_write(&gpio_ext_pc1, true);

    furi_hal_uart_init(FuriHalUartIdLPUART1, 4800);

    uint8_t data[8] = {0x0, somedata, a, b, c, d, e, moredata};
    furi_hal_uart_tx(FuriHalUartIdLPUART1, data, 8);

    furi_delay_ms(100);

    furi_hal_uart_set_irq_cb(FuriHalUartIdLPUART1, NULL, NULL);
    furi_hal_uart_deinit(FuriHalUartIdLPUART1);
}

How would one go about debugging the output from the function above to determine if my flipper pins are functioning as expected? Any help would be greatly appreciated!

2 Likes

So I’ve done a bit more research and it looks like you can use GDB to debug apps with Flipper. I’m trying to set up GDB from your instructions here for MacOS, however when I reach the part where it says to run this command

brew bundle --verbose

it’s telling me no brew files were found. Yes I’m in the right directory. Yes home-brew is installed. Your instructions state there are brew files in your firmware repository but I can’t seem to locate them.

Is GDB the right way to go or is there an easier way to do this?

So sorry, I keep answering my own questions. I found the brew file finally, I was in the dev branch on git hub which didn’t have the file, but the release branch does.