public static tpruss_intc_initdata PRUSS_INTC_INITDATA() { var ret = new tpruss_intc_initdata(); ret.Init(); Array.Copy(new sbyte[] { PRU1_PRU0_INTERRUPT, PRU0_ARM_INTERRUPT, PRU1_ARM_INTERRUPT, -1 }, 0, ret.sysevts_enabled, 0, 4); Array.Copy(new[] { new tsysevt_to_channel_map(PRU1_PRU0_INTERRUPT, CHANNEL0), new tsysevt_to_channel_map(PRU0_ARM_INTERRUPT, CHANNEL2), new tsysevt_to_channel_map(PRU1_ARM_INTERRUPT, CHANNEL3), new tsysevt_to_channel_map(-1, -1) }, 0, ret.sysevt_to_channel_map, 0, 4); Array.Copy(new[] { new tchannel_to_host_map(CHANNEL0, PRU_EVTOUT2), new tchannel_to_host_map(CHANNEL2, PRU_EVTOUT0), new tchannel_to_host_map(CHANNEL3, PRU_EVTOUT1), new tchannel_to_host_map(-1, -1) }, 0, ret.channel_to_host_map, 0, 4); /*Enable PRU0, PRU1, PRU_EVTOUT0 */ ret.host_enable_bitmask = (PRU_EVTOUT0_HOSTEN_MASK | PRU_EVTOUT1_HOSTEN_MASK | PRU_EVTOUT2_HOSTEN_MASK); return(ret); }
public static extern int prussdrv_pruintc_init(ref tpruss_intc_initdata prussintc_init_data);