Skip to main content

Show Posts

This section allows you to view all Show Posts made by this member. Note that you can only see Show Posts made in areas you currently have access to.

Messages - Eric

Web platform / Re: Eric: patch for tiny bug
[quote author="trygvis"]
I just got my web platform kit and managed to compile+build your freertos just fine.

I'm glad you got it to work.  I haven't had any time to work on it in quite some time now. 

[quote author="trygvis"]
However I got a couple of odd printf's on the serial port and the attached patch fixes it (basically a missing n).

There is still a lot of cleaning up that needs to be done in the code.  One area in particular that I have not come up with a unified approach to is the logging.  Matt had started to write a logging daemon.  I was thinking of doing it a different way.  What's in there now is a mishmash. 

The past month+ has been crazy with the holidays.  I'm pretty busy at work right now.  I have some computer projects I need to get finished.  I'm probably going to be moving again soon.  Whenever I can get back to it though I plan to do some more work on this.

Thanks for taking a look at it.

Breakout boards / Re: MMA7455L 3-axis accelerometer shipping
[quote author="ian"]
Do you think breakout boards are a worthwhile addition to the Dangerous Prototypes collection?[/quote]

I don't have a need for this one but, in general I would say yes, definitely.

Break out boards are often the only things SparkFun has that I can't easily get somewhere else.

This means I often end up buying more than just the breakout boards from them since I am placing an order anyway.  Not that there is anything wrong with this or with SparkFun but, I think this same logic could help DP as well.  If someone places an order to get one item they want, there's a good chance they'll get something else while they're there.

While Seeed is much slower for me in the U.S. than SparkFun they are a little cheaper so when I'm not in a hurry they're fine.

General discussion / Re: Digital radio boards
[quote author="rsdio"]
I couldn't quite figure out how to download the PDF article or PCB files - maybe you need a paid subscription.[/quote]

Most likely.

From what I remember, I was not able to download project information from elektor in the past since I was not a subscriber.

Bus Pirate Support / Re: Bus Pirate Basic Script question
I have copy and pasted many lines at once from a text editor into the Bus Pirate terminal with no problems.  I don't remember how many lines but definitely more than a dozen.  Are you saying this is not working for you or have you just not tried multiple lines?  If your listing is too long try pasting them in groups of 10 to 20 lines.

I believe I was using Notepad and HyperTerminal on Windows machine and it worked fine.

Web platform / FreeRTOS/port-eric [Was: Web Platform Second Alternate Firmware (frimwareA2)]
[quote author="ian"]
Thanks Eric, I'll give it a spin ASAP.[/quote]

You're welcome.  Please let my know what you think but remember I still have a lot to do.

[quote author="ian"]
My suggestion would be to make a port-eric and port-matt sub folder of /FreeRTOS/[/quote]

As directed, the /trunk/web-platform/firmwareA2 directory has been moved and renamed to the /trunk/web-platform/FreeRTOS/port-eric directory as of r550.

[quote author="ian"]
I actually think the suggestions refer to the main /trunk /branch /code folder on the top level:[/quote]

Ian, you "think"?  I thought those were your directions:)

[quote author="ian"]I don't think it has quite the same meaning the way we use it as a multiple-project repository.[/quote]

I will readily admit I am new to using SVN for anything other than just downloading source code.  However, from what I have read, since everything in an SVN repository is treated as a normal directory or file the trunk, branches, and tags directories have no inherent special properties.  They are an artificail convention that can be used at any level in the repository.  See Version Control with Subversion, Chapter 4. Branching and Merging, section Using Branches and the figure from that section below.  See also Version Control with Subversion, Chapter 4. Branching and Merging, section Common Branching Patterns, subsection Release Branches for a discussion of the branching style the DP Wiki seemed to be advocating.

Version Control with Subversion, Figure 4.2. Starting repository layout

[quote author="ian"]
I posted this up to see if we can get some more testers. I also started a wiki page here for links and notes anyone has: ... b_platform[/quote]

I will be away from my development system all week but if I get some time I will try to update this page with some useful information.

Web platform / FreeRTOS/port-eric [Was: Web Platform Second Alternate Firmware (frimwareA2)]
Since I sort of promised I would get my version of the Web Platform firmware that uses FreeRTOS (which was originally created by Matt) posted to SVN by this weekend I made a commit today.

See this thread for background and more information.

The code is available via SVN at the following address.

[s:]I called it "firmwareA2" so that the directory is more easily recognizable for what it contains, firmware for the Web Platform.  The "A2" refers to it now being the second alternative firmware choice for the Web Platform.[/s:]
As directed by Ian, the /trunk/web-platform/firmwareA2 directory has been moved and renamed to the /trunk/web-platform/FreeRTOS/port-eric directory as of r550.

I have set up the directory structure under [s:]/firmwareA2[/s:] /port-eric as specified in the Wiki.  To this end, the /trunk directory will always contain the most recent but potentially unstable version of the code.  The /tags directory will contain directories for released versions; code here should never be changed.  The /branches directory will contain directories for maintenance of that numbered branch.  Bug fixes should be made in /branches/X.X and this code should always be kept stable.

Based on this format, I have committed my code to /trunk and created a /tags/0.0.0 and a /branches/0.0 directory.  Right at this moment (r543) all three of /trunk, /tags/0.0.0, and /branches/0.0 contain the exact same code except for the version string they report.  Project files are in the root folder, all source code is in the /src directory and the output files are in the /bin directory.  The CustomColors.txt file is for use by the MPLAB editor to add user defined color syntax highlighting.  This is under Edit, Properties, Text tab, User Defined Color File.

At this point I would say the code is at a pre-alpha release stage but it does run.  The DHCP client will acquire an IP address and a web server will be started.  The web server will read files from the /www directory on the microSD card.  Currently long file names are not supported so all files must follow the 8.3 naming convention.  Therefore, create an /www/index.htm file for the default page.  (I also added a /www/favicon.ico from the DP site to mine:)  The USB serial port is set for 115200 baud 8,N,1 and will provide status messages.  At this point the console will echo characters you type back to you but that is all it does.

I would not have released it at this point yet except that Ian asked to see how it was progressing.  I doubt a lot of people will be interested in it but it is now available.  I will continue to work in the /trunk directory and I expect things in there to change drastically.  If you want to fix any bugs or would like to make some minor updates please do it it the /branches/0.0 directory and please keep the code stable.  Anyone is more than welcome to follow along and test the code in /trunk.  It is however still growing and evolving at this point and I may move/combine/eliminate any code in there in a seemingly random fashion.

A .hex file is available in the /bin directory that can be programmed in to a v1.0 or v1.1 Web Platform.  At this point there is no bootloader.  The .hex file must be programmed with a PIC programmer.  Since Ian recently stated that all Dangerous Prototypes projects are first and foremost to fill a personal need for him and then as an added bonus to make the work available to the hacker community, I do not feel too bad in saying that this firmwareA2 project is the same for me.  I am glad to give back to the community, am open to suggestions and welcome your feedback but I realize this may only be useful to me.

Open Bench Logic Sniffer / Re: Status of RLE

I thought I read that RLE broke when dynamic sample depth was implemented -- instead of needing to install a new bit stream like before.

I think this is discussed in this thread but I could be wrong.

General discussion / Re: PIC programming under Linux and Mac OS X
[quote author="doegox"]
Thanks for the news Eric![/quote]

No problem.

[quote author="doegox"]
But still the same bug when attempting to compile & load the Bus Pirate ELF:(

That's very disappointing to hear.  After I get a chance to test it I will update my post on the Microchip Development Tools MPLAB X forum to see if I get any response.  They may have not bothered responding to me last time because they knew the release was only a few days away.  If it is still having the same problem with the latest version maybe they will reply.

Web platform / Re: FreeRTOS
[quote author="Eric"]
I also need to figure out what to do about another licensing issue.  My uart.c file has a lot of code in it from the Microchip peripheral libraries that come with the C30 compiler.

I rewrote all my serial code now from scratch so there is no more Microchip peripheral library source code in it.

This gets me one step closer to being able to commit this to SVN.  Hopefully this weekend I will have it ready.

General discussion / Re: PIC programming under Linux and Mac OS X
[quote author="arhi"]
I got the same "The program file could not be loaded: com.microchip.mplab.mdbcore.program.exceptions.ProgramFileProcessingException" you are getting so it has nothing to do with mplab-x installation imho but we are doing something wrong with the bp firmware on mplab-x

I was probably not clear before.  This bug seems to have been identified by Microchip and fixed for the next beta which has not been released yet. 

Below are the two relevant posts from the Microchip >> Development Tools >> MPLAB X IDE forum I referenced.


Monday, October 18, 2010 9:53 AM ( #1 )


I'm using MPLAB X Beta3.0a on fedora 13 x86_64 with java 1.6.0_22 (32 bits)

When building a project with microchip C18 I get the following error:
BUILD SUCCESSFUL (total time: 4s)
Loading /home/rbras/progs/pic/testeTCP/dist/default/production/testeTCP.production.cof...
The program file could not be loaded: com.microchip.mplab.mdbcore.program.exceptions.ProgramFileProcessingException

The complete java exception is:

    at java.util.LinkedList$ Source)
    at com.microchip.mplab.mdbcore.program.ScopeBlock.InsertBlock(
    at com.microchip.mplab.mdbcore.program.ScopeBlock.InsertBlock(
    at com.microchip.mplab.mdbcore.program.ScopeBlock.InsertBlock(
    at com.microchip.mplab.mdbcore.program.processors.CoffReaderC18v2.BuildSymbolTable(
    at com.microchip.mplab.mdbcore.program.processors.ProgramFileCoffDefault.Load(
    at com.microchip.mplab.mdbcore.program.processors.ProgramFileCoffDefault.Load(
    at com.microchip.mplab.mdbcore.program.spi.ProgramFileProviderFactory.getProvider(
    at com.microchip.mplab.mdbcore.loader.MCLoader.Load(
    at com.microchip.mplab.nbide.loader.MdbLoader$
[catch] at Source)

It looks like MPLAB-X can't open the cof file but I am not sure.

Best regards

Xxxxx Xxxx

...several more posts here including the original poster sending the developer/programmer a copy of the COFF file as requested...

Wednesday, October 27, 2010 5:43 PM ( #6 )

Thank you very much for prioviding the COFF file ;-). There was definitely a yet unidentified and unexposed corner case created by the particular project and Language tools you are working with.  The COFF file provided me with the context to locate and trap the cause of the problem.
The problem has been fixed and the solution will be available in the soon to be release Beta 4 version of MPLAB X.
Thanks again for investing the time and helping us to sharpen and refine the next generation of MPLAB.


...a thank you post from the original poster and then my post...

Saturday, November 06, 2010 3:37 PM ( #8 )

I just started testing with MPLAB X and am getting this same error.  Well, not exactly the same since I am using the C30 tools so it is complaining about a ...production.elf file instead of a .cof file (It does not seem like the option to select between ELF and COFF formats has been implemented yet).   The same error occurs when this particular project is compiled on both a windows and a Linux platform.  Is there any workaround or patch?  Would it be helpful to post the .elf file?


...and no response yet.
Bus Blaster JTAG debugger / Re: FTDI 2232 high speed programmer debugger (JTAG/SPI/I2C/UART)
[quote author="ian"]
Does the ICD3 also have the rj12 jack? I still have v2.

Yes, it is physically similar (except for the color and no more serial port) but has significant internal upgrades.

I found this comparison.

I think one other advantage that was not mentioned is that once a new version of a Microchip tool comes out support for the previous version will start to fade.  As new chips come out it is likely that at some point they will no longer be added to the ICD2.  This is what happened to my ICD1, then support for it was dropped from MPLAB.  You probably have quite a while till this starts to happen though.  I got mine when they first came out and Microchip had a trade-up program.  If you donated your ICD2 to one of their educational charities (such as FIRST) you got a discount on a new ICD3.

See also

General discussion / Re: PIC programming under Linux and Mac OS X
[quote author="doegox"]
Well actually we weren't talking about creating a new project from an elf file.

When you compile (hammer&sweep icon) e.g. the bus pirate in MPLABX, it finishes on the following messages:

BUILD SUCCESSFUL (total time: 10s)
Loading .../trunk/source/busPirate.X/busPirate/dist/default/production/busPirate.production.elf...
The program file could not be loaded: com.microchip.mplab.mdbcore.program.exceptions.ProgramFileProcessingException

So maybe it simply doesn't make sense if there is no debug info but it's quite disturbing, they should then not attempt to load the result at all...

Edit: I tried the "Debug Project" (ctrl+F5), same behavior

I believe what you are referring to is a known bug in MPLAB X.  See my post here

See also this Microchip Forum thread (you have to be registered to see this -- first you have to register on Microchip's forum then second you have to request access to the MPLAB X board but, I can't remember where or how you do that right now -- I'll update this when I remember or find it).

Project development, ideas, and suggestions / Re: Web Platform v2?
[quote author="hardcore"]
 Also you should consider  'Netiquette'.
Slapping underpowered and potentially insecure equipment on the net does not do anyone any favours, then there are the issues related to IPv6. [/quote]

It depends on where you use it.  On my LAN it is useful for me and being behind my firewall I do not think it endangers anyone else.  (I think IPv6 is still a long way off -- since good NAT has been developed I think the push for IPv6 has lost momentum.  It will come eventually but I think it will be a long time -- if ever -- before IPv4 only equipment will no longer work on the net.)

[quote author="hardcore"]
By standardizing on a more powerful processor that runs an off the shelf OS you  free yourself to do what the project was intended to do , and that is experiment, link items to it, write web code etc,... [/quote]

Again, it depends.  I do not think I would have a use for one of those.  I do however like the idea of adding some Ethernet/IP connectivity to some of my dsPIC projects and so have a use for the current version -- which is why I bought two.

[quote author="hardcore"]
300 pcs is not a big number for the amount of work that went into it. (even if there was a $25us margin on it.)...
... but more importantly it frees the 'maintainers' of the hardware up to do more profitable things, which is where the REAL money and sales are, such as attachments.(not to mention the enjoyment)[/quote]

I guess that depends on what the motivation/enjoyment of the project is -- money?  I didn't think it was but then I wasn't involved.

[quote author="hardcore"]
 if you want a 'special' function/ IO, etc then you write a driver that drops into the kernel, which can be driven directly from a multitude of programming languages, that ANYONE not just c programmers can use.[/quote]
Yes, if you don't want to program in C or assembly then you are probably going to need a more powerful platform.  For most of what I want to do or experiment with though this would be overkill. 

When I have to configure/fix/rebuild my wireless router I am working on a platform closer to what you are describing.  It runs a nearly full fledged distribution of Linux (OpenWRT) -- it actually has a more powerful CPU than I think the first computer I ran Linux on had.  It is a great network platform.  I doubt we could build a 400MHz MIPS, 64MB RAM, 32 MB FLASH, five gigabit port VLAN capable Ethernet switch, 802.11b/g/n wireless, USB host, etc., etc. system plus case and power supply for $69.99 shipped.  If you want to do web design with high level scripting languages this is a great platform to start with.  It even has a couple slide witches, a few push buttons, and about half a dozen LEDS for a user interface.  However it does not have nearly the collection of low level peripherals that the dsPIC does like ADC, DAC, PWM, SPI, I2C, CAN, analog comparators, large number of digital IO, etc., etc. that make it great for hardware projects.  This is what sets the microcontrollers apart from the 32-bit embedded Linux systems -- hardware peripheral support.  They are two very different platforms -- different tools for different jobs.

I find the discussion of this new M3 based system interesting but I don't think I would end up getting one.  That doesn't mean other people wouldn't end up getting one and find it useful.  It does seem like more of a saturated market though.

[quote author="hardcore"]
Is all the work really needed?
buy one and see what improvements can be made, but for a web server connected on the public network, there really is a need to be able to handle the network load  by the use of multi threaded systems, I really do not see the 'pic' as a logical choice.[/quote]

I think you're right about this.  It would probably be hard for us to beat one of those for this type of platform.  If this is what you're after just get one of these.

[quote author="hardcore"]
If something is going to be built, then it needs to be useful...[/quote]

Agreed.  But what useful means and to who is the question.

I think we need to define what the goal of the project (or the goal of the next version of this project) is otherwise feature creep and good ideas will pull it down a path that was not intended.  But that's just my opinion, take it for what its worth.