5 #include <linux/spi/spidev.h> 13 #include <sys/types.h> 18 using namespace Linux;
20 #define PWM_CHAN_COUNT 12 22 static const uint8_t
chan_pru_map[]= {10,8,11,9,7,6,5,4,3,2,1,0};
32 mem_fd =
open(
"/dev/mem", O_RDWR|O_SYNC|O_CLOEXEC);
45 unsigned long tick=
TICK_PER_S/(
unsigned long)freq_hz;
48 if (chmask & (1U<<i)) {
uint16_t read(uint8_t ch)
uint32_t periodhi[MAX_PWMS][2]
int open(const char *pathname, int flags)
POSIX Open a file with integer mode flags.
void enable_ch(uint8_t ch)
void set_freq(uint32_t chmask, uint16_t freq_hz)
static const int TICK_PER_S
#define RCOUT_PRUSS_SHAREDRAM_BASE
uint32_t hilo_read[MAX_PWMS][2]
uint16_t pending[MAX_PWMS]
void disable_ch(uint8_t ch)
static void catch_sigbus(int sig)
int close(int fileno)
POSIX Close a file with fileno handel.
static const int TICK_PER_US
uint16_t get_freq(uint8_t ch)
void write(uint8_t ch, uint16_t period_us)
volatile struct pwm_cmd * sharedMem_cmd
void panic(const char *errormsg,...) FMT_PRINTF(1
static const uint8_t chan_pru_map[]