RE: Logging CAN messages
"John Dammeyer" <[email protected]> Sat, 31 Oct 2020 13:45:11 -0700
| Newsgroups | gmane.comp.hardware.bus.can |
|---|---|
| Message-ID | <[email protected]> |
This is a multipart message in MIME format. ------=_NextPart_000_0E2D_01D6AF8C.0E405E30 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi Kees, That product is close to what they need. Nicely done!=20 =20 Although when I had the scope on their system last Thursday it looks like t= he messages were running at least every 10mS. I think they said 100Hz, 50H= z and 20Hz intervals. I'd say I'd have to have the ability to store at lea= st 5,000 messages at 500kbps. =20 A few years ago I did do a similar logging project. They wanted the data s= tored on a Raspberry PiZeroW and then upload to the cloud via WiFi when ava= ilable. =20 =20 We found that no matter what we did the Pi still took about 12 seconds to b= oot. Ultimately what I did was design and build a PIC32 front end to times= tamp and queue all messages. Once the Pi was awake the PIC32 became an SPI= slave to the Pi which then pulled up the stored messages. =20 =20 Unfortunately I don't have access to the hardware or legally the software. = I was hoping that there might be something that uses a KVaser or Port or s= ome other USB dongle and a PC application that would do this. =20 I'll talk to the client and mention your product. Not that interested in m= aking changes in Basic though. =20 Thanks again John Dammeyer =20 =20 =20 =20 =20 From: [email protected] [mailto:canlist-owner@vector-info= rmatik.com] On Behalf Of Kees Zagers Sent: October-31-20 11:53 AM To: [email protected] Subject: Re: [CANLIST] Logging CAN messages =20 Hi John, In principle I created this functionality in my SI2CBB (www.unicanner.com).= The embedded hardware has all the CAN functionality in this case. The CANL= OG command I created has the event logging possibility. Button (connected t= o one of the Arduino pins), specific message and error event can be defined= by the user. The only restriction is the fact that I used the standard cir= cular FIFO buffer of the built-in CAN controller of the Microchip PIC32. Th= is buffer only contains 32 messages. So the pre-trigger information is 32 m= essages, which probably will be a fraction of the messages during the last = five seconds. The post-trigger information can be as long as you want. The = PIC32 has the possibility to create 32 of these FIFO buffers in RAM, where = every FIFO can be linked to one or more filters and masks. If all FIFO's ar= e linked to the same filter and mask, they can be cascaded, which gives us = a buffer of 1024 messages. The problem however in this case it is not circu= lar; if the last FIFO is full it stops. I have to check, but it should be p= ossible to detect the buffer full interrupt of the last FIFO and return to = the first FIFO again. In that case we can have at least 1 second of the pre= -trigger messages in a normal CANbus system. Anyway it is difficult to say how large the circular buffer should be to co= ntain the information of 5 or 10 seconds, because it depends of course on t= he bus speed and bus load. The result of the logging can be directly uploaded to a PC through the USB = interface or locally stored on an SD flash card. So far my input. Cheers Kees Op 30-10-2020 om 06:50 schreef John Dammeyer: I haven't kept up to date with newer developments over the last few years. = My Lawicel CANUSB, RM CANUSB and monitor program plus whatever I've writte= n has been adequate for the tasks I do. =20 I've been asked to determine if a tool exists that can log CAN messages in = a circular buffer. Say 10 seconds worth and when a trigger like either a m= essage or say an error flag occurs the logging to the circular buffer goes = for 5 seconds and then is stopped and saved. =20 Essentially the system shows random faults and they'd like to know what hap= pened for 5 seconds on either side of the event. =20 =20 The even can be: a contact closure like a button pressed by an operator; a= specific message, Bus error as signaled by an error flag. =20 Does a tool like that exist? =20 Thanks John Dammeyer =20 "ELS! Nothing else works as well for your Lathe" Automation Artisans Inc. www dot autoartisans dot com=20 =20 --=20 Kees Zagers SI-KWADRAAT B.V. Van Kemenadelaan 13 5674 PP NUENEN =20 Tel. +31(0)40-2839582 [email protected] ------=_NextPart_000_0E2D_01D6AF8C.0E405E30 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:= //www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content= =3D"text/html; charset=3Dutf-8"><meta name=3DProgId content=3DWord.Document= ><meta name=3DGenerator content=3D"Microsoft Word 14"><meta name=3DOriginat= or content=3D"Microsoft Word 14"><link rel=3DFile-List href=3D"cid:filelist= [email protected]"><!--[if gte mso 9]><xml> <o:OfficeDocumentSettings> <o:AllowPNG/> </o:OfficeDocumentSettings> </xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:Zoom>150</w:Zoom> <w:SpellingState>Clean</w:SpellingState> <w:TrackMoves/> <w:TrackFormatting/> <w:EnvelopeVis/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-CA</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:DoNotExpandShiftReturn/> <w:BreakWrappedTables/> <w:SplitPgBreakAndParaMark/> <w:EnableOpenTypeKerning/> </w:Compatibility> <m:mathPr> <m:mathFont m:val=3D"Cambria Math"/> <m:brkBin m:val=3D"before"/> <m:brkBinSub m:val=3D"--"/> <m:smallFrac m:val=3D"off"/> <m:dispDef/> <m:lMargin m:val=3D"0"/> <m:rMargin m:val=3D"0"/> <m:defJc m:val=3D"centerGroup"/> <m:wrapIndent m:val=3D"1440"/> <m:intLim m:val=3D"subSup"/> <m:naryLim m:val=3D"undOvr"/> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState=3D"false" DefUnhideWhenUsed=3D"true" DefSemi= Hidden=3D"true" DefQFormat=3D"false" DefPriority=3D"99" LatentStyleCount=3D= "267"> <w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" Unhide= WhenUsed=3D"false" QFormat=3D"true" Name=3D"Normal"/> <w:LsdException Locked=3D"false" Priority=3D"9" SemiHidden=3D"false" Unhide= WhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 1"/> <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"he= ading 2"/> <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"he= ading 3"/> <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"he= ading 4"/> <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"he= ading 5"/> <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"he= ading 6"/> <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"he= ading 7"/> <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"he= ading 8"/> <w:LsdException Locked=3D"false" Priority=3D"9" QFormat=3D"true" Name=3D"he= ading 9"/> <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 1"/> <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 2"/> <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 3"/> <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 4"/> <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 5"/> <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 6"/> <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 7"/> <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 8"/> <w:LsdException Locked=3D"false" Priority=3D"39" Name=3D"toc 9"/> <w:LsdException Locked=3D"false" Priority=3D"35" QFormat=3D"true" Name=3D"c= aption"/> <w:LsdException Locked=3D"false" Priority=3D"10" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Title"/> <w:LsdException Locked=3D"false" Priority=3D"1" Name=3D"Default Paragraph F= ont"/> <w:LsdException Locked=3D"false" Priority=3D"11" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Subtitle"/> <w:LsdException Locked=3D"false" Priority=3D"22" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Strong"/> <w:LsdException Locked=3D"false" Priority=3D"20" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Emphasis"/> <w:LsdException Locked=3D"false" Priority=3D"59" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Table Grid"/> <w:LsdException Locked=3D"false" UnhideWhenUsed=3D"false" Name=3D"Placehold= er Text"/> <w:LsdException Locked=3D"false" Priority=3D"1" SemiHidden=3D"false" Unhide= WhenUsed=3D"false" QFormat=3D"true" Name=3D"No Spacing"/> <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Shading"/> <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light List"/> <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Grid"/> <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 1"/> <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 2"/> <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 1"/> <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 2"/> <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 1"/> <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 2"/> <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 3"/> <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Dark List"/> <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Shading"/> <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful List"/> <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Grid"/> <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Shading Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light List Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Grid Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 1 Accent 1"/> <w:LsdException Locked=3D"false" UnhideWhenUsed=3D"false" Name=3D"Revision"= /> <w:LsdException Locked=3D"false" Priority=3D"34" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"List Paragraph"/> <w:LsdException Locked=3D"false" Priority=3D"29" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Quote"/> <w:LsdException Locked=3D"false" Priority=3D"30" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Intense Quote"/> <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 2 Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Dark List Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Shading Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful List Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Grid Accent 1"/> <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Shading Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light List Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Grid Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 1 Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 2 Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Dark List Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Shading Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful List Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Grid Accent 2"/> <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Shading Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light List Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Grid Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 1 Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 2 Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Dark List Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Shading Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful List Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Grid Accent 3"/> <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Shading Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light List Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Grid Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 1 Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 2 Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Dark List Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Shading Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful List Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Grid Accent 4"/> <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Shading Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light List Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Grid Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 1 Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 2 Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Dark List Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Shading Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful List Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Grid Accent 5"/> <w:LsdException Locked=3D"false" Priority=3D"60" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Shading Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"61" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light List Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"62" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Light Grid Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"63" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 1 Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"64" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Shading 2 Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"65" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 1 Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"66" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium List 2 Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"67" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 1 Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"68" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 2 Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"69" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Medium Grid 3 Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"70" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Dark List Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"71" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Shading Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"72" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful List Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"73" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" Name=3D"Colorful Grid Accent 6"/> <w:LsdException Locked=3D"false" Priority=3D"19" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Subtle Emphasis"/> <w:LsdException Locked=3D"false" Priority=3D"21" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Intense Emphasis"/> <w:LsdException Locked=3D"false" Priority=3D"31" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Subtle Reference"/> <w:LsdException Locked=3D"false" Priority=3D"32" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Intense Reference"/> <w:LsdException Locked=3D"false" Priority=3D"33" SemiHidden=3D"false" Unhid= eWhenUsed=3D"false" QFormat=3D"true" Name=3D"Book Title"/> <w:LsdException Locked=3D"false" Priority=3D"37" Name=3D"Bibliography"/> <w:LsdException Locked=3D"false" Priority=3D"39" QFormat=3D"true" Name=3D"T= OC Heading"/> </w:LatentStyles> </xml><![endif]--><style><!-- /* Font Definitions */ @font-face =09{font-family:"Cambria Math"; =09panose-1:2 4 5 3 5 4 6 3 2 4; =09mso-font-charset:0; =09mso-generic-font-family:roman; =09mso-font-pitch:variable; =09mso-font-signature:-536870145 1107305727 0 0 415 0;} @font-face =09{font-family:Calibri; =09panose-1:2 15 5 2 2 2 4 3 2 4; =09mso-font-charset:0; =09mso-generic-font-family:swiss; =09mso-font-pitch:variable; =09mso-font-signature:-536870145 1073786111 1 0 415 0;} @font-face =09{font-family:Tahoma; =09panose-1:2 11 6 4 3 5 4 4 2 4; =09mso-font-charset:0; =09mso-generic-font-family:swiss; =09mso-font-pitch:variable; =09mso-font-signature:-520081665 -1073717157 41 0 66047 0;} @font-face =09{font-family:Consolas; =09panose-1:2 11 6 9 2 2 4 3 2 4; =09mso-font-charset:0; =09mso-generic-font-family:modern; =09mso-font-pitch:fixed; =09mso-font-signature:-520092929 1073806591 9 0 415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal =09{mso-style-unhide:no; =09mso-style-qformat:yes; =09mso-style-parent:""; =09margin:0cm; =09margin-bottom:.0001pt; =09mso-pagination:widow-orphan; =09font-size:12.0pt; =09mso-bidi-font-size:10.0pt; =09font-family:"Times New Roman","serif"; =09mso-fareast-font-family:Calibri; =09mso-fareast-language:EN-US;} a:link, span.MsoHyperlink =09{mso-style-noshow:yes; =09mso-style-priority:99; =09color:blue; =09text-decoration:underline; =09text-underline:single;} a:visited, span.MsoHyperlinkFollowed =09{mso-style-noshow:yes; =09mso-style-priority:99; =09color:purple; =09text-decoration:underline; =09text-underline:single;} p =09{mso-style-noshow:yes; =09mso-style-priority:99; =09mso-margin-top-alt:auto; =09margin-right:0cm; =09mso-margin-bottom-alt:auto; =09margin-left:0cm; =09mso-pagination:widow-orphan; =09font-size:12.0pt; =09mso-bidi-font-size:10.0pt; =09font-family:"Times New Roman","serif"; =09mso-fareast-font-family:Calibri; =09mso-fareast-language:EN-US;} pre =09{mso-style-noshow:yes; =09mso-style-priority:99; =09mso-style-link:"HTML Preformatted Char"; =09margin:0cm; =09margin-bottom:.0001pt; =09mso-pagination:widow-orphan; =09tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt = 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; =09font-size:10.0pt; =09font-family:"Courier New"; =09mso-fareast-font-family:Calibri; =09mso-fareast-language:EN-CA;} p.Code, li.Code, div.Code =09{mso-style-name:Code; =09mso-style-update:auto; =09mso-style-unhide:no; =09mso-style-qformat:yes; =09margin:0cm; =09margin-bottom:.0001pt; =09mso-pagination:widow-orphan; =09font-size:8.0pt; =09font-family:"Courier New"; =09mso-fareast-font-family:Calibri; =09mso-fareast-language:EN-CA;} span.EmailStyle19 =09{mso-style-type:personal; =09mso-style-noshow:yes; =09mso-style-unhide:no; =09mso-ansi-font-size:11.0pt; =09mso-bidi-font-size:11.0pt; =09font-family:"Times New Roman","serif"; =09mso-ascii-font-family:"Times New Roman"; =09mso-fareast-font-family:Calibri; =09mso-hansi-font-family:"Times New Roman"; =09mso-bidi-font-family:"Times New Roman"; =09color:windowtext;} span.HTMLPreformattedChar =09{mso-style-name:"HTML Preformatted Char"; =09mso-style-noshow:yes; =09mso-style-priority:99; =09mso-style-unhide:no; =09mso-style-locked:yes; =09mso-style-link:"HTML Preformatted"; =09font-family:Consolas; =09mso-ascii-font-family:Consolas; =09mso-fareast-font-family:Calibri; =09mso-hansi-font-family:Consolas; =09mso-bidi-font-family:Consolas; =09mso-fareast-language:EN-US;} span.EmailStyle22 =09{mso-style-type:personal-reply; =09mso-style-noshow:yes; =09mso-style-unhide:no; =09mso-ansi-font-size:11.0pt; =09mso-bidi-font-size:11.0pt; =09font-family:"Times New Roman","serif"; =09mso-ascii-font-family:"Times New Roman"; =09mso-fareast-font-family:Calibri; =09mso-hansi-font-family:"Times New Roman"; =09mso-bidi-font-family:"Times New Roman"; =09color:#1F497D;} span.SpellE =09{mso-style-name:""; =09mso-spl-e:yes;} .MsoChpDefault =09{mso-style-type:export-only; =09mso-default-props:yes; =09font-size:10.0pt; =09mso-ansi-font-size:10.0pt; =09mso-bidi-font-size:10.0pt;} @page WordSection1 =09{size:612.0pt 792.0pt; =09margin:72.0pt 72.0pt 72.0pt 72.0pt; =09mso-header-margin:36.0pt; =09mso-footer-margin:36.0pt; =09mso-paper-source:0;} div.WordSection1 =09{page:WordSection1;} --></style><!--[if gte mso 10]><style>/* Style Definitions */ table.MsoNormalTable =09{mso-style-name:"Table Normal"; =09mso-tstyle-rowband-size:0; =09mso-tstyle-colband-size:0; =09mso-style-noshow:yes; =09mso-style-priority:99; =09mso-style-parent:""; =09mso-padding-alt:0cm 5.4pt 0cm 5.4pt; =09mso-para-margin:0cm; =09mso-para-margin-bottom:.0001pt; =09mso-pagination:widow-orphan; =09font-size:10.0pt; =09font-family:"Times New Roman","serif";} </style><![endif]--><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--></head><body lang=3DEN-CA link=3Dblue vli= nk=3Dpurple style=3D'tab-interval:36.0pt'><div class=3DWordSection1><p clas= s=3DMsoNormal><span style=3D'font-size:11.0pt;mso-fareast-font-family:Calib= ri;color:#1F497D'>Hi <span class=3DSpellE>Kees</span>,<o:p></o:p></span></p= ><p class=3DMsoNormal><span style=3D'font-size:11.0pt;mso-fareast-font-fami= ly:Calibri;color:#1F497D'>That product is close to what they need. <span st= yle=3D'mso-spacerun:yes'>=C2=A0</span>Nicely done! <o:p></o:p></span></p><p= class=3DMsoNormal><span style=3D'font-size:11.0pt;mso-fareast-font-family:= Calibri;color:#1F497D'><o:p> </o:p></span></p><p class=3DMsoNormal><sp= an style=3D'font-size:11.0pt;mso-fareast-font-family:Calibri;color:#1F497D'= >Although when I had the scope on their system last Thursday it looks like = the messages were running at least every 10mS.<span style=3D'mso-spacerun:y= es'>=C2=A0 </span>I think they said 100Hz, 50Hz and 20Hz intervals.<span st= yle=3D'mso-spacerun:yes'>=C2=A0 </span>I'd say I'd have to have the ability= to store at least 5,000 messages at 500kbps.<o:p></o:p></span></p><p class= =3DMsoNormal><span style=3D'font-size:11.0pt;mso-fareast-font-family:Calibr= i;color:#1F497D'><o:p> </o:p></span></p><p class=3DMsoNormal><span sty= le=3D'font-size:11.0pt;mso-fareast-font-family:Calibri;color:#1F497D'>A few= years ago I did do a similar logging project.<span style=3D'mso-spacerun:y= es'>=C2=A0 </span>They wanted the data stored on a Raspberry <span class=3D= SpellE>PiZeroW</span> and then upload to the cloud via <span class=3DSpellE= >WiFi</span> when available.<span style=3D'mso-spacerun:yes'>=C2=A0 </span>= <o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;= mso-fareast-font-family:Calibri;color:#1F497D'><o:p> </o:p></span></p>= <p class=3DMsoNormal><span style=3D'font-size:11.0pt;mso-fareast-font-famil= y:Calibri;color:#1F497D'>We found that no matter what we did the Pi still t= ook about 12 seconds to boot.<span style=3D'mso-spacerun:yes'>=C2=A0 </span= >Ultimately what I did was design and build a PIC32 front end to timestamp = and queue all messages.<span style=3D'mso-spacerun:yes'>=C2=A0 </span>Once = the Pi was awake the PIC32 became an SPI slave to the Pi which then pulled = up the stored messages.<span style=3D'mso-spacerun:yes'>=C2=A0 </span><o:p>= </o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;mso-f= areast-font-family:Calibri;color:#1F497D'><o:p> </o:p></span></p><p cl= ass=3DMsoNormal><span style=3D'font-size:11.0pt;mso-fareast-font-family:Cal= ibri;color:#1F497D'>Unfortunately I don't have access to the hardware or le= gally the software.<span style=3D'mso-spacerun:yes'>=C2=A0 </span>I was hop= ing that there might be something that uses a <span class=3DSpellE>KVaser</= span> or Port or some other USB dongle and a PC application that would do t= his.<o:p></o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.= 0pt;mso-fareast-font-family:Calibri;color:#1F497D'><o:p> </o:p></span>= </p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;mso-fareast-font-f= amily:Calibri;color:#1F497D'>I'll talk to the client and mention your produ= ct.<span style=3D'mso-spacerun:yes'>=C2=A0 </span>Not that interested in ma= king changes in Basic though.<o:p></o:p></span></p><p class=3DMsoNormal><sp= an style=3D'font-size:11.0pt;mso-fareast-font-family:Calibri;color:#1F497D'= ><o:p> </o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:= 11.0pt;mso-fareast-font-family:Calibri;color:#1F497D'>Thanks again<o:p></o:= p></span></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;mso-farea= st-font-family:Calibri;color:#1F497D'>John Dammeyer<o:p></o:p></span></p><p= class=3DMsoNormal><span style=3D'font-size:11.0pt;mso-fareast-font-family:= Calibri;color:#1F497D'><o:p> </o:p></span></p><p class=3DMsoNormal><sp= an style=3D'font-size:11.0pt;mso-fareast-font-family:Calibri;color:#1F497D'= ><o:p> </o:p></span></p><p class=3DMsoNormal><span style=3D'font-size:= 11.0pt;mso-fareast-font-family:Calibri;color:#1F497D'><o:p> </o:p></sp= an></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;mso-fareast-fon= t-family:Calibri;color:#1F497D'><o:p> </o:p></span></p><p class=3DMsoN= ormal><span style=3D'font-size:11.0pt;mso-fareast-font-family:Calibri;color= :#1F497D'><o:p> </o:p></span></p><div style=3D'border:none;border-left= :solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style=3D'border:none= ;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=3DMsoNo= rmal><b><span lang=3DEN-US style=3D'font-size:10.0pt;font-family:"Tahoma","= sans-serif";mso-fareast-font-family:"Times New Roman";mso-ansi-language:EN-= US;mso-fareast-language:EN-CA'>From:</span></b><span lang=3DEN-US style=3D'= font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-font-family:= "Times New Roman";mso-ansi-language:EN-US;mso-fareast-language:EN-CA'> canl= [email protected] [mailto:[email protected]= ] <b>On Behalf Of </b>Kees Zagers<br><b>Sent:</b> October-31-20 11:53 AM<br= ><b>To:</b> [email protected]<br><b>Subject:</b> Re: [CANLIST] L= ogging CAN messages<o:p></o:p></span></p></div></div><p class=3DMsoNormal><= o:p> </o:p></p><p>Hi John,<o:p></o:p></p><p>In principle I created thi= s functionality in my SI2CBB (<a href=3D"http://www.unicanner.com">www.unic= anner.com</a>). The embedded hardware has all the CAN functionality in this= case. The CANLOG command I created has the event logging possibility. Butt= on (connected to one of the Arduino pins), specific message and error event= can be defined by the user. The only restriction is the fact that I used t= he standard circular FIFO buffer of the built-in CAN controller of the Micr= ochip PIC32. This buffer only contains 32 messages. So the pre-trigger info= rmation is 32 messages, which probably will be a fraction of the messages d= uring the last five seconds. The post-trigger information can be as long as= you want. The PIC32 has the possibility to create 32 of these FIFO buffers= in RAM, where every FIFO can be linked to one or more filters and masks. I= f all FIFO's are linked to the same filter and mask, they can be cascaded, = which gives us a buffer of 1024 messages. The problem however in this case = it is not circular; if the last FIFO is full it stops. I have to check, but= it should be possible to detect the buffer full interrupt of the last FIFO= and return to the first FIFO again. In that case we can have at least 1 se= cond of the pre-trigger messages in a normal CANbus system.<o:p></o:p></p><= p>Anyway it is difficult to say how large the circular buffer should be to = contain the information of 5 or 10 seconds, because it depends of course on= the bus speed and bus load.<o:p></o:p></p><p>The result of the logging can= be directly uploaded to a PC through the USB interface or locally stored o= n an SD flash card.<o:p></o:p></p><p>So far my input.<o:p></o:p></p><p>Chee= rs<o:p></o:p></p><p>Kees<o:p></o:p></p><div><p class=3DMsoNormal><span styl= e=3D'mso-fareast-font-family:"Times New Roman"'>Op 30-10-2020 om 06:50 schr= eef John Dammeyer:<o:p></o:p></span></p></div><blockquote style=3D'margin-t= op:5.0pt;margin-bottom:5.0pt'><p class=3DMsoNormal><span style=3D'font-size= :11.0pt'>I haven't kept up to date with newer developments over the last fe= w years.<span style=3D'mso-spacerun:yes'>=C2=A0 </span>My Lawicel CANUSB, R= M CANUSB and monitor program plus whatever I've written has been adequate f= or the tasks I do.</span><o:p></o:p></p><p class=3DMsoNormal><span style=3D= 'font-size:11.0pt'> </span><o:p></o:p></p><p class=3DMsoNormal><span s= tyle=3D'font-size:11.0pt'>I've been asked to determine if a tool exists tha= t can log CAN messages in a circular buffer.<span style=3D'mso-spacerun:yes= '>=C2=A0 </span>Say 10 seconds worth and when a trigger like either a messa= ge or say an error flag occurs the logging to the circular buffer goes for = 5 seconds and then is stopped and saved.</span><o:p></o:p></p><p class=3DMs= oNormal><span style=3D'font-size:11.0pt'> </span><o:p></o:p></p><p cla= ss=3DMsoNormal><span style=3D'font-size:11.0pt'>Essentially the system show= s random faults and they'd like to know what happened for 5 seconds on eith= er side of the event. <span style=3D'mso-spacerun:yes'>=C2=A0</span></span>= <o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt'> = </span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt'= >The even can be: a contact closure like a button pressed by an operator;<s= pan style=3D'mso-spacerun:yes'>=C2=A0 </span>a specific message,<span style= =3D'mso-spacerun:yes'>=C2=A0 </span>Bus error as signaled by an error flag.= </span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt'= > </span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:= 11.0pt'>Does a tool like that exist?</span><o:p></o:p></p><p class=3DMsoNor= mal><span style=3D'font-size:11.0pt'> </span><o:p></o:p></p><p class= =3DMsoNormal><span style=3D'font-size:11.0pt'>Thanks</span><o:p></o:p></p><= p class=3DMsoNormal><span style=3D'font-size:11.0pt'>John Dammeyer</span><o= :p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt'> </= span><o:p></o:p></p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;ms= o-bidi-font-size:10.5pt;font-family:"Calibri","sans-serif"'>"ELS! Noth= ing else works as well for your Lathe"</span><o:p></o:p></p><p class= =3DMsoNormal><span style=3D'font-size:11.0pt;mso-bidi-font-size:10.5pt;font= -family:"Calibri","sans-serif"'>Automation Artisans Inc.</span><o:p></o:p><= /p><p class=3DMsoNormal><span style=3D'font-size:11.0pt;mso-bidi-font-size:= 10.5pt;font-family:"Calibri","sans-serif"'>www dot autoartisans dot com </s= pan><o:p></o:p></p><p class=3DMsoNormal> <o:p></o:p></p></blockquote><= pre>-- <o:p></o:p></pre><pre>Kees Zagers<o:p></o:p></pre><pre>SI-KWADRAAT B= .V.<o:p></o:p></pre><pre>Van Kemenadelaan 13<o:p></o:p></pre><pre>5674 PP<s= pan style=3D'mso-spacerun:yes'>=C2=A0 </span>NUENEN<o:p></o:p></pre><pre><o= :p> </o:p></pre><pre>Tel. +31(0)40-2839582<o:p></o:p></pre><pre><a hre= f=3D"mailto:[email protected]">[email protected]</a><o:p></o:p></pre></= div></div></body></html> ------=_NextPart_000_0E2D_01D6AF8C.0E405E30-- -- Archives and useful links: http://groups.yahoo.com/group/CANbus Subscribe and unsubscribe at www.vector.com/canlist/ Report any problems to <[email protected]>