Re: Logging CAN messages
Kees Zagers <[email protected]> Sat, 31 Oct 2020 19:52:51 +0100
| Newsgroups | gmane.comp.hardware.bus.can |
|---|---|
| Organization | SI-Kwadraat B.V. |
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------E6EC7F7B7886EC002A4B9D0A Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Hi John, In principle I created this functionality in my SI2CBB=20 (www.unicanner.com). The embedded hardware has all the CAN functionality=20 in this case. The CANLOG command I created has the event logging=20 possibility. Button (connected to one of the Arduino pins), specific=20 message and error event can be defined by the user. The only restriction=20 is the fact that I used the standard circular FIFO buffer of the=20 built-in CAN controller of the Microchip PIC32. This buffer only=20 contains 32 messages. So the pre-trigger information is 32 messages,=20 which probably will be a fraction of the messages during the last five=20 seconds. The post-trigger information can be as long as you want. The=20 PIC32 has the possibility to create 32 of these FIFO buffers in RAM,=20 where every FIFO can be linked to one or more filters and masks. If all=20 FIFO's are linked to the same filter and mask, they can be cascaded,=20 which gives us a buffer of 1024 messages. The problem however in this=20 case it is not circular; if the last FIFO is full it stops. I have to=20 check, but it should be possible to detect the buffer full interrupt of=20 the last FIFO and return to the first FIFO again. In that case we can=20 have at least 1 second of the pre-trigger messages in a normal CANbus=20 system. Anyway it is difficult to say how large the circular buffer should be to=20 contain the information of 5 or 10 seconds, because it depends of course=20 on the bus speed and bus load. The result of the logging can be directly uploaded to a PC through the=20 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=20 > years.My Lawicel CANUSB, RM CANUSB and monitor program plus whatever=20 > I've written has been adequate for the tasks I do. > > I've been asked to determine if a tool exists that can log CAN=20 > messages in a circular buffer.Say 10 seconds worth and when a trigger=20 > like either a message or say an error flag occurs the logging to the=20 > circular buffer goes for 5 seconds and then is stopped and saved. > > Essentially the system shows random faults and they'd like to know=20 > what happened for 5 seconds on either side of the event. > > The even can be: a contact closure like a button pressed by an=20 > operator; a specific message,Bus error as signaled by an error flag. > > Does a tool like that exist? > > Thanks > > John Dammeyer > > "ELS! Nothing else works as well for your Lathe" > > Automation Artisans Inc. > > www dot autoartisans dot com > --=20 Kees Zagers SI-KWADRAAT B.V. Van Kemenadelaan 13 5674 PP NUENEN Tel. +31(0)40-2839582 [email protected] --------------E6EC7F7B7886EC002A4B9D0A Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <html> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8= "> </head> <body> <p>Hi John,</p> <p>In principle I created this functionality in my SI2CBB (<a class=3D"moz-txt-link-abbreviated" href=3D"http://www.unicanner.c= om">www.unicanner.com</a>). The embedded hardware has all the CAN functionality in this case. The CANLOG command I created has the event logging possibility. Button (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 the standard circular FIFO buffer of the built-in CAN controller of the Microchip PIC32. This buffer only contains 32 messages. So the pre-trigger information is 32 messages, 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 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 second of the pre-trigger messages in a normal CANbus system.</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.</p> <p>The result of the logging can be directly uploaded to a PC through the USB interface or locally stored on an SD flash card.</p> <p>So far my input.</p> <p>Cheers</p> <p>Kees<br> </p> <div class=3D"moz-cite-prefix">Op 30-10-2020 om 06:50 schreef John Dammeyer:<br> </div> <blockquote type=3D"cite" cite=3D"mid:[email protected]"> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF= -8"> <meta name=3D"ProgId" content=3D"Word.Document"> <meta name=3D"Generator" content=3D"Microsoft Word 14"> <meta name=3D"Originator" content=3D"Microsoft Word 14"> <link rel=3D"File-List" href=3D"cid:[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:PunctuationKerning/> <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:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:EnableOpenTypeKerning/> <w:DontFlipMirrorIndents/> <w:OverrideTableStyleHps/> </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;} /* 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.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;} span.EmailStyle18 =09{mso-style-type:personal-compose; =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.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; =09mso-fareast-font-family:Calibri; =09mso-fareast-language:EN-US;} @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"; =09mso-fareast-language:EN-US;} </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]--> <div class=3D"WordSection1"> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">I haven't kept up to date with newer developments over the last few years.<span style=3D"mso-spacerun:yes">=C2=A0 </span>My <span class=3D"SpellE">Lawicel</span> CANUSB, RM CANUSB and monitor program plus whatever I've written has been adequate for the tasks I do.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>=C2=A0= </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">I've been asked to determine if a tool exists that 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 message or say an error flag occurs the logging to the circular buffer goes for 5 seconds and then is stopped and saved.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>=C2=A0= </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">Essentially the system shows random faults and they'd like to know what happened for 5 seconds on either side of the event.<span style=3D"mso-spacerun:yes">=C2=A0 </span><o:p></o:p></span></= p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>=C2=A0= </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">The even ca= n be: a contact closure like a button pressed by an operator; <span style=3D"mso-spacerun:yes">=C2=A0</span>a specific messag= e,<span style=3D"mso-spacerun:yes">=C2=A0 </span>Bus error as signale= d by an error flag.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>=C2=A0= </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">Does a tool like that exist?<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>=C2=A0= </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">Thanks<o:p>= </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">John Dammeyer<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>=C2=A0= </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-bidi-font-size:10.5pt;font-family:"Calib= ri","sans-serif";mso-fareast-font-family:Calibri;mso-bidi-fo= nt-family:"Times New Roman";mso-fareast-language:EN-CA;mso-no-proof:yes">"E= LS! Nothing else works as well for your Lathe"<o:p></o:p></span></p= > <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-bidi-font-size:10.5pt;font-family:"Calib= ri","sans-serif";mso-fareast-font-family:Calibri;mso-bidi-fo= nt-family:"Times New Roman";mso-fareast-language:EN-CA;mso-no-proof:yes">Au= tomation Artisans Inc.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-bidi-font-size:10.5pt;font-family:"Calib= ri","sans-serif";mso-fareast-font-family:Calibri;mso-bidi-fo= nt-family:"Times New Roman";mso-fareast-language:EN-CA;mso-no-proof:yes">ww= w dot autoartisans dot com <o:p></o:p></span></p> <p class=3D"MsoNormal"><o:p>=C2=A0</o:p></p> </div> </blockquote> <pre class=3D"moz-signature" cols=3D"72">--=20 Kees Zagers SI-KWADRAAT B.V. Van Kemenadelaan 13 5674 PP NUENEN Tel. +31(0)40-2839582 <a class=3D"moz-txt-link-abbreviated" href=3D"mailto:[email protected]">k= [email protected]</a></pre> </body> </html> --------------E6EC7F7B7886EC002A4B9D0A-- -- Archives and useful links: http://groups.yahoo.com/group/CANbus Subscribe and unsubscribe at www.vector.com/canlist/ Report any problems to <[email protected]>