Exemple #1
0
            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);
            }
Exemple #2
0
 public static extern int prussdrv_pruintc_init(ref tpruss_intc_initdata prussintc_init_data);