Exemplo n.º 1
0
static DDS_ReturnCode_t sequence_get(qeocore_data_t **value,
                                     const DDS_DynamicData dyndata,
                                     qeocore_member_id_t id,
                                     DDS_DynamicType type)
{
    DDS_ReturnCode_t ddsrc;

    *value = data_alloc(type, 1);
    if (NULL == *value) {
        ddsrc = DDS_RETCODE_OUT_OF_RESOURCES;
    }
    else {
        DDS_DynamicData seqdata;

        ddsrc = DDS_DynamicData_get_complex_value(dyndata, &seqdata, id);
        if (DDS_RETCODE_OK == ddsrc) {
            /* actual data was returned */
            DDS_DynamicDataFactory_delete_data((*value)->d.dynamic.single_data);
            (*value)->d.dynamic.single_data = seqdata;
        }
        /* in case of DDS_RETCODE_NO_DATA we keep the preallocated data */
        else if (DDS_RETCODE_NO_DATA != ddsrc) {
            qeo_log_dds_rc("DDS_DynamicData_get_complex_value", ddsrc);
        }
    }
    return ddsrc;
}
Exemplo n.º 2
0
extern unsigned long dataAvailable;

/* Function prototypes */
unsigned char mp3_VS1053_attach(VOS_HANDLE spi_master_handle, unsigned char XRESET_GPIO_port, unsigned char XRESET_GPIO_pin, unsigned char DREQ_GPIO_port, unsigned char DREQ_GPIO_pin, unsigned char SDI_CS_identifier, unsigned char SCI_CS_identifier);
int	mp3_VS1053_detach();
int mp3_VS1053_select_control(void);
int mp3_VS1053_deselect_control(void);
int mp3_VS1053_select_data(void);
int mp3_VS1053_deselect_data(void);
int mp3_VS1053_hard_reset(void);
int mp3_VS1053_soft_reset(void);
int mp3_VS1053_setup(void);
int mp3_VS1053_wait_for_dreq(void);
int mp3_VS1053_write_reg(unsigned char reg_address, unsigned short data);
int mp3_VS1053_read_reg(unsigned char reg_address, unsigned short *data);
unsigned short mp3_VS1053_read_ram(unsigned short ram_address);
unsigned char mp3_VS1053_write(unsigned char *buf, unsigned short num_to_write, unsigned short *num_written);
unsigned char mp3_VS1053_ioctl(void *cb);

void mp3_VS1053_init(unsigned char mp3VS1053DevNum, mp3_VS1053_context_t *mp3Context)
{
	// Set up function pointers for our driver
	mp3_VS1053_cb.flags     = 0;
	mp3_VS1053_cb.read      = (PF_IO) NULL;
	mp3_VS1053_cb.write     = mp3_VS1053_write;
	mp3_VS1053_cb.ioctl     = mp3_VS1053_ioctl;
	mp3_VS1053_cb.interrupt = (PF_INT) NULL;
Exemplo n.º 3
0
static DDS_ReturnCode_t struct_get(qeocore_data_t **data,
                                   const DDS_DynamicData dyndata,
                                   qeocore_member_id_t id,
                                   DDS_MemberDescriptor *mdesc)
{
    DDS_ReturnCode_t ddsrc = DDS_RETCODE_OUT_OF_RESOURCES;

    *data = calloc(1, sizeof(qeocore_data_t));
    if (NULL != *data) {
        (*data)->flags.is_single = 1;
        ddsrc = DDS_DynamicData_get_complex_value(dyndata, &(*data)->d.dynamic.single_data, id);
        if (DDS_RETCODE_NO_DATA == ddsrc) {
            /* no nested structure there yet, create empty one */
            (*data)->d.dynamic.single_data = DDS_DynamicDataFactory_create_data(mdesc->type);
            qeo_log_dds_null("DDS_DynamicDataFactory_create_data", (*data)->d.dynamic.single_data);
            if (NULL != (*data)->d.dynamic.single_data) {
                ddsrc = DDS_RETCODE_OK;
            }
        }
        else {
            qeo_log_dds_rc("DDS_DynamicData_get_complex_value", ddsrc);
        }
    }
    if (DDS_RETCODE_OK == ddsrc) {
        /* take ownership of type for future use */
        (*data)->d.dynamic.single_type = mdesc->type;
        mdesc->type = NULL;
    }
    else {
        if (NULL != *data) {
            if (NULL != (*data)->d.dynamic.single_data) {
                DDS_DynamicDataFactory_delete_data((*data)->d.dynamic.single_data);
            }
            free(*data);
        }
    }
    return ddsrc;
}
Exemplo n.º 4
0
#include "MP3_VS1053_defs.h"

#include "devman.h"

#define MP3_VS1053_BUFFER_SIZE 128

#define MASK_GPIO_EN (1 << 1)

/* Port registers */
#define VII_GPIO_SYS_CNTRL_1   0x180   /* GPIO Control Register */
#define VII_GPIO_CNTRL_PORTA_1 0x181
#define VII_GPIO_CNTRL_PORTB_1 0x182
#define VII_GPIO_CNTRL_PORTC_1 0x183
#define VII_GPIO_CNTRL_PORTD_1 0x184
#define VII_GPIO_CNTRL_PORTE_1 0x185
#define VII_GPIO_DATA_TX_PA_1  0x186
#define VII_GPIO_DATA_TX_PB_1  0x187
#define VII_GPIO_DATA_TX_PC_1  0x188
#define VII_GPIO_DATA_TX_PD_1  0x189
#define VII_GPIO_DATA_TX_PE_1  0x18a
#define VII_GPIO_DATA_RX_PA_1  0x18b
#define VII_GPIO_DATA_RX_PB_1  0x18c
#define VII_GPIO_DATA_RX_PC_1  0x18d
#define VII_GPIO_DATA_RX_PD_1  0x18e
#define VII_GPIO_DATA_RX_PE_1  0x18f
#define VII_GPIO_INT_REG_EN_1  0x19a   /* GPIO Interrupt Register */

port vII_gpio_sys_cntrl_1 @ VII_GPIO_SYS_CNTRL_1;
port vII_gpio_cntrl_porta_1 @ VII_GPIO_CNTRL_PORTA_1;
port vII_gpio_cntrl_portb_1 @ VII_GPIO_CNTRL_PORTB_1;
port vII_gpio_cntrl_portc_1 @ VII_GPIO_CNTRL_PORTC_1;
port vII_gpio_cntrl_portd_1 @ VII_GPIO_CNTRL_PORTD_1;
port vII_gpio_cntrl_porte_1 @ VII_GPIO_CNTRL_PORTE_1;
port vII_gpio_data_tx_pa_1 @ VII_GPIO_DATA_TX_PA_1;
port vII_gpio_data_tx_pb_1 @ VII_GPIO_DATA_TX_PB_1;
port vII_gpio_data_tx_pc_1 @ VII_GPIO_DATA_TX_PC_1;
port vII_gpio_data_tx_pd_1 @ VII_GPIO_DATA_TX_PD_1;
port vII_gpio_data_tx_pe_1 @ VII_GPIO_DATA_TX_PE_1;