XML on Arduino

2,659 views
Skip to first unread message

Jan Berger

unread,
Nov 15, 2013, 12:14:29 PM11/15/13
to devel...@arduino.cc
hi folks,
 
If anyone is interesting in XML parsing on a small Arduino Uno or similar let me know - I need testers.
 
StateXML is a stream parser designed to hang on an UART or similar to function as decoder for an xml based message protocol. It run on < 512 byte RAM. It uses a state engine where characters are seen as events - a technique that provide a parser in ca 300 lines of code.
 
I could need some beta testers deploying it to use. This is C++ code.
 
Jan

Rob Tillaart

unread,
Nov 15, 2013, 2:19:26 PM11/15/13
to Jan Berger, devel...@arduino.cc
Hi Jan,

XML Parsing is interesting in several ways. Think the best place to get testers is on the forum, optionally provide some sample sketches to show how it works, and/or what it limits are.
Think the "other software development" section is a good place to post your StateXML library.

FYI, I recently posted an XMLwriter class here - http://forum.arduino.cc/index.php?topic=197823.0 - 

Regards,
Rob




--
You received this message because you are subscribed to the Google Groups "Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to developers+...@arduino.cc.

mirko rodic

unread,
Mar 26, 2014, 6:48:17 AM3/26/14
to devel...@arduino.cc
Hello Jan, I'm interested in Xml parsing on Arduino Uno. Can you send me the library?

Mirko 

haifa trabelsi

unread,
Mar 26, 2014, 10:16:58 AM3/26/14
to devel...@arduino.cc
Hello Jan, I'm interested in Xml parsing on Arduino Mega ADK.Can  u send to me the library.??


2014-03-26 11:48 GMT+01:00 mirko rodic <mr.m...@gmail.com>:
Hello Jan, I'm interested in Xml parsing on Arduino Uno. Can you send me the library?

Mirko 

--

Cristian Maglie

unread,
Apr 3, 2014, 6:11:47 AM4/3/14
to devel...@arduino.cc


Hi,


anyone else interested in the library can contact privately the author, there is no need to post on the whole mailing list.


Thanks!

coleoptero jmag

unread,
Apr 3, 2014, 6:12:51 AM4/3/14
to Arduino Developers
Good job, Rob.

(ºLe.
--
_______________________________
Juan Manuel Amuedo González (coLe)
Twitter: colepower
Blog de notas: http://www.scoop.it/t/barfablab
Blog personal: http://dadoque.blogspot.com
coleoptero_AT_gmail_IN_com
_______________________________

coleoptero jmag

unread,
Apr 3, 2014, 6:14:18 AM4/3/14
to Arduino Developers
Hi,

Other option is the author send repository link to library source.

(ºLe.


--
You received this message because you are subscribed to the Google Groups "Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to developers+...@arduino.cc.

Pat and Monna Ireland

unread,
Apr 4, 2014, 2:09:32 AM4/4/14
to devel...@arduino.cc

I have such a library that I developed.

 

I was planning to post it to GitHub.

 

I developed it for the DUE, since I do not have  a Mega I am not familiar with the eccentricities  of its C++.

 

This is the API set.

 

       static int32_t             appendAttribute (char * argAttributeNodeName, char * argAttributeNodeValue);

       static int32_t             appendChild (char * argTagNodeName);

       static int32_t             attributeName (char * argAttributeNodeName);

       static char              * attributeName (void);

       static int32_t             attributeParent (void);

       static int32_t             attributeValue (char * argAttributeNodeValue);

       static char              * attributeValue (void);

       static int32_t             deleteAttribute (void);

       static int32_t             deleteNode (void);

       static int32_t             DocumentElement (void);

       static int32_t             findAttributeByName (char * argAttributeNodeName);

       static int32_t             findNodeByName (char * argTagNodeName);

       static int32_t             firstAttribute (void);

       static int32_t             firstChild (void);

       static int32_t             getAttributeCount (void);

       static int32_t             getChildCount (void);

       static int32_t             hasAttributes (void);

       static int32_t             innerText (char * argInnerText);

       static char              * innerText (void);

       static int32_t             insertAttributeAfter (char * argAttributeNodeName, char * argAttributeNodeValue);

       static int32_t             insertAttributeBefore (char * argAttributeNodeName, char * argAttributeNOdeValue);

       static int32_t             insertSiblingAfter (char * argTagNodeName);

       static int32_t             insertSiblingBefore (char * argTagNodeName);

       static int32_t             isParent (void);

       static int32_t             isRoot (void);

       static int32_t             LastOperationStatus (void);

       static int32_t             lastAttribute (void);

       static int32_t             lastChild (void);

       static int32_t             LoadXml (void);

       static int32_t             LoadXml (char * argFileName);

       static int32_t             LoadXml (string argFileName);

       static int32_t             nextAttribute (void);

       static int32_t             nextSibling (void);

       static int32_t             nodeName (char * argTagNodeName);

       static char              * nodeName (void);

       static int32_t             nodeParent (void);

       static int32_t             parentNode (void);

       static int32_t             previousAttribute (void);

       static int32_t             previousSibling (void);

       static char              * toString (void);

 

Please note that I do not support XPath, nor tree copy.

 

Let me know if this will be of assistance to you, as I will forward it on to you.

 

There is substantial debugging that can be compiled in or out to aid with debugging.

 

Pat Ireland

--

You received this message because you are subscribed to the Google Groups "Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to developers+...@arduino.cc.




This email is free from viruses and malware because avast! Antivirus protection is active.


Pat and Monna Ireland

unread,
Apr 4, 2014, 2:19:00 AM4/4/14
to devel...@arduino.cc

I also have a make tool that I used on the DUE so only the required modules that need to be recompiled are.

 

On the DUE the default is to recompile everything including the Arduino libraries.

 

The make is written in JAVA and includes the upload feature.

 

From: Cristian Maglie [mailto:c.ma...@bug.st]
Sent: Thursday, April 03, 2014 05:12
To: devel...@arduino.cc
Subject: Re: [Developers] Re: XML on Arduino

 

 

Hi,

--

You received this message because you are subscribed to the Google Groups "Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to developers+...@arduino.cc.

Jan Berger

unread,
Apr 4, 2014, 6:52:04 PM4/4/14
to devel...@arduino.cc
It's on github in the EFC repository - pull out StateXML.h and StateXML.cpp
 
github/CelinaRTOS
 
Jan
 

Date: Wed, 26 Mar 2014 15:16:58 +0100

Subject: Re: [Developers] Re: XML on Arduino

Jan Berger

unread,
Apr 4, 2014, 7:14:33 PM4/4/14
to devel...@arduino.cc
https://github.com/CelinaRTOS/EFC
 
Have fun - drop me a not if you need help.
 

From: ja...@live.com
To: devel...@arduino.cc
Subject: RE: [Developers] Re: XML on Arduino
Date: Sat, 5 Apr 2014 00:52:04 +0200
Reply all
Reply to author
Forward
0 new messages