http://www.perlmonks.org?node_id=872721


in reply to Data Transfer using CAN (Controller Area Network)

I did not find any perl module some time ago when I looked for ... It will also depend on the CAN hardware you want to use. Usually you get some drivers and C libraries with the hardware which you can use to build your own module. I would suggest to do the event handling in C and just some send and receive function in perl, using XS. To publish this on CPAN would be a good answer to your question :o)

  • Comment on Re: Data Transfer using CAN (Controller Area Network)

Replies are listed 'Best First'.
Re^2: Data Transfer using CAN (Controller Area Network)
by Sathish (Initiate) on Nov 22, 2010 at 06:14 UTC

    Am having both the CAN controller and CAN tranceiver. Now I am sending the data using the IG block in the CANoe. Instead of that I would like to send an data only if a button is pressed. I can make a button using a Tk. To interface the button action to send an data to the another node I need your help. All the CAN communication is already there. For testing purpose we are sending an data through IG block. I am trying to change that part by a button.

      Ok, so you do not necessarily want to access your CAN device directly. Accessing CANoe would be sufficient for you. If you would have told that in your question earlier you could avoid a lot of confusion.

      Accessing CANoe works via Win32::OLE, read the documentation of CANoe COM server and check the VB exampe to access environment variables.

      I would create a CAPL node wich communicates with your perl script via CANoe environment variables. So if you click the button you would set an environment vaiable wich triggers the CAPL node to send a CAN message. That way you can even get data from CAN back to perl. It just depends on you interface design.

      Show your solution and I'll comment it.

        Hi Sathish, I would really appreciate if you could share your win32::ole initialization perl code showing how host perl code connects to canoe. Regards, andy
      Am having both the CAN controller and CAN tranceiver. Now I am sending the data using the IG block in the CANoe. Instead of that I would like to send an data only if a button is pressed. I can make a button using a Tk. To interface the button action to send an data to the another node I need your help. All the CAN communication is already there. For testing purpose we are sending an data through IG block. I am trying to change that part by a button.

      This makes no sense at all. If you can make a button, and you can make it do something, and you can send the data using the IG block in the CANoe, whatever that is, why can't you send the data on button press?