Files
picopal/core_comm.h

18 lines
602 B
C

#pragma once
#include <stdbool.h>
#include <stdint.h>
// The RP2350 multicore FIFO holds eight 32-bit messages in each direction.
// These functions intentionally enforce the sending/receiving core roles.
// Try to send one word from core 1. Returns false instead of waiting when the
// FIFO is full.
bool core1_to_core0_try_write(uint32_t data);
// Send one word from core 1, waiting until core 0 has made FIFO space.
void core1_to_core0_write_blocking(uint32_t data);
// Try to read one word on core 0. Returns false when no message is available.
bool core0_try_read_from_core1(uint32_t *data);