public GlobalDataSet()
 {
     debugMode = false;
     mcp2515 = new MCP2515();
     logic_Mcp2515_Sender = new Logic_Mcp2515_Sender(this);
     logic_Mcp2515_Receiver = new Logic_Mcp2515_Receiver(this);
 }
        public MainPage()
        {
            this.InitializeComponent();

            // Initilize data
            errorCounterTransfer = 0;
            mcpExecutorCounter   = 0;
            firstStart           = true;
            stopSequenceIsActive = false;
            globalDataSet        = new GlobalDataSet(); // Get things like mcp2515, logic_Mcp2515_Sender, logic_Mcp2515_Receiver
            //serverComm = new ServerUnit(globalDataSet);
            clientUnit = new ClientUnit(globalDataSet);
            diagnose   = new Diagnose(globalDataSet);
            mcp2515    = globalDataSet.Mcp2515;
            pulses     = new Pulses();

            clientUnit.newEvent += new ClientUnit.myEvent(this.dataPackageReceived);


            // USER CONFIGURATION
            globalDataSet.DebugMode = false;
            getProgramDuration      = false;

            // Inititalize raspberry pi and gpio
            init_raspberry_pi_gpio();
            init_raspberry_pi_spi();

            // Inititalize mcp2515
            Task task_initMcp2515 = new Task(globalDataSet.init_mcp2515_task);

            task_initMcp2515.Start();
            task_initMcp2515.Wait();

            // Start executor service
            task_mcpExecutorService = new Task(mcpExecutorService_task);
            task_mcpExecutorService.Start();

            // Inititalize background tasks
            stateTimer = new Timer(this.StateTimer, null, 0, DELTA_T_TIMER_CALLBACK); // Create timer to display the state of message transmission
            errorTimer = new Timer(this.ErrorTimer, null, 0, DELTA_T_ERROR_TIMER);    // Create timer to display the state of message transmission

            // Inititalize server
            //Task<bool> serverStarted = serverComm.StartServer();
            clientUnit.StartClient_loop();
        }
        public MainPage()
        {
            this.InitializeComponent();

            // Initilize data
            errorCounterTransfer = 0;
            mcpExecutorCounter = 0;
            firstStart = true;
            startSequenceIsActive = false;
            stopSequenceIsActive = false;
            globalDataSet = new GlobalDataSet(); // Get things like mcp2515, logic_Mcp2515_Sender, logic_Mcp2515_Receiver
            serverComm = new ServerComm(globalDataSet);
            diagnose = new Diagnose(globalDataSet);
            mcp2515 = globalDataSet.Mcp2515;

            // USER CONFIGURATION
            globalDataSet.DebugMode = false;
            getProgramDuration = false;

            // Inititalize raspberry pi and gpio
            init_raspberry_pi_gpio();
            init_raspberry_pi_spi();

            // Inititalize mcp2515
            Task task_initMcp2515 = new Task(globalDataSet.init_mcp2515_task);
            task_initMcp2515.Start();
            task_initMcp2515.Wait();

            // Start executor service
            task_mcpExecutorService = new Task(mcpExecutorService_task);
            task_mcpExecutorService.Start();

            // Inititalize background tasks
            stateTimer = new Timer(this.StateTimer, null, 0, DELTA_T_TIMER_CALLBACK); // Create timer to display the state of message transmission
            errorTimer = new Timer(this.ErrorTimer, null, 0, DELTA_T_ERROR_TIMER); // Create timer to display the state of message transmission

            // Inititalize server
            Task<bool> serverStarted = serverComm.StartServer();
        }
Example #4
0
        public static void Main()
        {
            int  cnt        = 0;
            bool bootState  = false;
            bool txLedState = false;
            bool rxLedState = false;

            OutputPort txled   = new OutputPort(Pins.GPIO_PIN_D8, txLedState);
            OutputPort rxled   = new OutputPort(Pins.GPIO_PIN_D7, rxLedState);
            OutputPort bootLed = new OutputPort(Pins.ONBOARD_LED, bootState);

            // Blink the netduino led to indicate boot state.
            for (int i = 0; i < 3; i++)
            {
                bootLed.Write(bootState);
                Thread.Sleep(500);
                bootState = !bootState;
            }

            // Create the CAN Handler.
            MCP2515 CANHandler = new MCP2515();

            CANHandler.InitCAN(MCP2515.enBaudRate.CAN_BAUD_500K);
            // Set to normal operation mode.
            CANHandler.SetCANNormalMode();

            // Create standard TX message.
            MCP2515.CANMSG txMessage = new MCP2515.CANMSG();
            txMessage.data  = new byte[] { 0xCC, 0xAA, 0xAA, 0xAA, 0x11, 0x00, 0xFF, 0xFF };
            txMessage.CANID = 0x1AA;

            // Create extended TX message.
            MCP2515.CANMSG txMessageExt = new MCP2515.CANMSG();
            txMessageExt.CANID = 0x1FEDCBA1;
            txMessageExt.data  = new byte[] { 0x00, 0xEE };

            // Create the message that will hold received messages.
            MCP2515.CANMSG rxMessage = new MCP2515.CANMSG();

            while (true)
            {
                // Put a counter in the message.
                txMessage.data[6] = (byte)(cnt >> 8);
                txMessage.data[7] = (byte)cnt;
                // Transmit messages.
                CANHandler.Transmit(txMessage, 10);
                CANHandler.Transmit(txMessageExt, 10);
                // Blink CAN shield TX led every 5 cycles.
                txLedState = (cnt % 5 == 0) ? !txLedState : txLedState;
                txled.Write(txLedState);
                // Check if a message was received.
                if (CANHandler.Receive(out rxMessage, 20))
                {
                    rxled.Write(rxLedState);
                    if (rxMessage.IsExtended)
                    {
                        rxLedState = !rxLedState;
                    }
                    else
                    {
                    }
                }
                // Increase counter.
                cnt++;
            }
        }
 public Logic_Mcp2515_Receiver(GlobalDataSet globalDataSet)
 {
     this.globalDataSet = globalDataSet;
     mcp2515 = globalDataSet.Mcp2515;
     data_MCP2515_Receiver = new Data_MCP2515_Receiver();
 }
Example #6
0
 public CanMCP2515Adapter(CanMCP2515AdapterSettings settings) : base(settings)
 {
     can = new MCP2515();
     can.InitCAN(settings.SPI, settings.ChipSelect, GetTimings(settings));
 }
 public Logic_Mcp2515_Sender(GlobalDataSet globalDataSet)
 {
     this.globalDataSet = globalDataSet;
     mcp2515 = new MCP2515();
     data_MCP2515_Sender = new Data_MCP2515_Sender();
 }