HiPi-BCM2835

 view release on metacpan or  search on metacpan

BCM2835.xs  view on Meta::CPAN

void 
bcm2835_gpio_pud(uint8_t pud)

void 
bcm2835_gpio_pudclk(uint8_t pin, uint8_t on)

uint32_t 
bcm2835_gpio_pad(uint8_t group)

void 
bcm2835_gpio_set_pad(uint8_t group, uint32_t control)

void 
bcm2835_delay(unsigned int millis)

void
bcm2835_delayMicroseconds(uint64_t micros)

void
bcm2835_gpio_write(uint8_t pin, uint8_t on)

void
bcm2835_gpio_write_multi(uint32_t mask, uint8_t on)

void
bcm2835_gpio_write_mask(uint32_t value, uint32_t mask)

void
bcm2835_gpio_set_pud(uint8_t pin, uint8_t pud)

uint8_t 
bcm2835_gpio_get_pud(uint8_t pin)

int 
bcm2835_spi_begin()

void 
bcm2835_spi_end()

void
bcm2835_spi_setBitOrder(uint8_t order)

void 
bcm2835_spi_setClockDivider(uint16_t divider)

void 
bcm2835_spi_setDataMode(uint8_t mode)

void 
bcm2835_spi_chipSelect(uint8_t cs)

void 
bcm2835_spi_setChipSelectPolarity(uint8_t cs, uint8_t active)

uint8_t 
bcm2835_spi_transfer(uint8_t value)

void
hipi_spi_transfern( tbuf )
    SV* tbuf
  PPCODE:
    SV* rbuf = newSVsv(tbuf);
    bcm2835_spi_transfern( SvPVX(rbuf), (uint32_t)SvCUR(rbuf) );
    
    EXTEND(SP, 1);
    PUSHs(sv_2mortal(rbuf));


void
bcm2835_spi_transfern(char* buf, short length(buf))

void
hipi_spi_transfernb( tbuf )
    SV* tbuf
  PPCODE:
    SV* rbuf = newSVsv(tbuf);
    bcm2835_spi_transfernb( SvPVX(tbuf), SvPVX(rbuf), (uint32_t)SvCUR(tbuf) );
    
    EXTEND(SP, 1);
    PUSHs(sv_2mortal(rbuf));
    

void
bcm2835_spi_transfernb(char* tbuf, char* rbuf, short length(tbuf))

void
hipi_spi_writenb( buf )
    SV* buf
  PPCODE:
    SV* rbuf = sv_2mortal(newSVsv(buf));
    bcm2835_spi_writenb( SvPVX(rbuf), (uint32_t)SvCUR(rbuf) );
    
    EXTEND(SP, 1);
    PUSHs(rbuf);

void
bcm2835_spi_writenb(char* buf, short length(buf))

int
bcm2835_i2c_begin()

int
bcm2835_hipi_i2c_begin(int boardrevision)

void
bcm2835_i2c_end()

int
bcm2835_hipi_i2c_end(int boardrevision)

void
bcm2835_i2c_setSlaveAddress(uint8_t addr)

void
bcm2835_i2c_setClockDivider(uint16_t divider)

uint8_t
bcm2835_i2c_write(const char * buf,  short length(buf));

uint8_t
bcm2835_i2c_read( char* buf, uint32_t len )

uint64_t
bcm2835_st_read()

void
bcm2835_st_delay(uint64_t offset_micros, uint64_t micros)

void
bcm2835_i2c_set_baudrate(uint32_t baudrate)

uint8_t
bcm2835_i2c_read_register_rs(char* regaddr, char* buf, uint32_t len)

uint8_t
bcm2835_i2c_write_read_rs(char* cmds, uint32_t cmds_len, char* buf, uint32_t buf_len)

void
bcm2835_pwm_set_clock(uint32_t divisor)

void
bcm2835_pwm_set_mode(uint8_t channel, uint8_t markspace, uint8_t enabled)

void
bcm2835_pwm_set_range(uint8_t channel, uint32_t range)

void
bcm2835_pwm_set_data(uint8_t channel, uint32_t data)



( run in 1.449 second using v1.01-cache-2.11-cpan-71847e10f99 )