Saturday, April 4, 2015

Start of AlphaBot project.

I have started a new project, one that involves working with robot platforms.

I have acquired a few neat little robot platforms from some really great companies.  I chose these robot platforms because they allow me to work with modular designs that can share some  hardware and firmware.

First, I ordered the Buggy from MikroElectronika.  I haven't really talked about this company or their products, however I love their stuff.  Their products are very well built, documented and they provide examples.  I actually have quite a few of their products, and I can use almost all of the devices I purchased from them with this robot platform.  Eventually I hope use all of the following with this project:
MikroElectronika also has a very interesting plug and play system called mikroBUS.
This allows me to use various sub modules called Click Boards
these boards are great. I can write firmware code and prototype my system without designing and building the hardware first.  I have a few of the click boards, specifically the BLE P click and the nRF C Click that I wish to use with this project.
 
Second, I ordered the MRK Basic and MRK+Line robot kits from DIGILENT.  These robot platforms can't reuse the devices from MikroElectronika without building custom hardware adapters.  However, they have sub modules called pmods I can use with their chipKIT board as well as their ZYBO board.

This project will be quite challenging and enjoyable.  I plan to keep this blog updated as I work on it.

Monday, July 7, 2014

Research and Notes


I have found a great way to keep hierarchical notes and sync them between machines ( even with different operating systems ).
I have recently started using KeepNote, the note taking and organization application to record my notes.  I am using mercurial and BitBucket to keep my notes versioned and synced between multiple computers.
There is only one issue that I have had so far, and that is the indexing database.  If you want to use a source control to version and sync your notes, make sure you add the index database to the ignore file.
And as always a screenshot of KeepNote with some notes.

Sunday, July 6, 2014

UltraEdit, UltraCompare, Tortoisehg and Linux

I recently purchased the UltraEdit / UltraCompare bundle from IDM Computer Solutions, Inc.  After some difficulty getting mercurial & tortoisehg  to play nice with UltraEdit and UltraCompare, I decided to make a post on how to accomplish this.

I created a bin directory under my home directory and extracted the UltraEdit and UltraCompare tarballs there.

mkdir /home/cmartin/bin
tar zxvf UltraEdit.tar.gz
tar zxvf UltraCompare.tar.gz

Next, I made soft links to the actual executables in the ~/bin directory as shown below:

ln -s /home/cmartin/bin/ucx/bin/ucx /home/cmartin/bin/ucx.app
ln -s /home/cmartin/bin/uex/bin/uex /home/cmartin/bin/uex.app



Once these tasks were completed, I edited my .hgrc file to match the contents below:

[ui]
editor = /home/cmartin/bin/uex.app
merge = UltraCompare

[extdiff]
cmd.UltraCompare = /home/cmartin/bin/ucx.app
cmd.args = -i -B -b -lt -t $local $other

[tortoisehg]
vdiff = UltraCompare
ui.language = en

[merge-tools]
UltraCompare.executable = /home/cmartin/bin/ucx.app
UltraCompare.args = -i -B -b -lt -t $local $other
UltraCompare.priority = 1
UltraCompare.gui = True
UltraCompare.binary = True
UltraCompare.checkconflicts = True
UltraCompare.checkchanged = True

Now tortoisehg is integrated and working with UltraEdit and UltraCompare.

Friday, September 20, 2013

Logic Analyzer and Oscilloscope software

I ordered a Logic Port from PC Test Instruments and it arrived today.  Here is a screenshot of a PWM signal on both my Rigol Oscilloscope and the Logic Port.  



Thursday, September 12, 2013

MSP430 Debugging with open source tools


I recently switched to using open source tools to work on the msp430 micro controller architecture.  The previous post included a few pictures of the in-circuit programming / debugging adapter I constructed.  In this post I will talk a little bit about using Data Display Debugger on Linux to debug micro controller code.  The screen shot below is an active debug session using the data display debugger.



Data Display Debugger debugging firmware code.
If you aren't quite familiar with the tool set, please investigate the following links.

 During the normal process of working with this micro controller one will use their favorite editor and either the msp430-gcc distribution tools directly or through a makefile to build the elf binary which is loaded to the micro controller.
A typical session looks as such:

mspdebug session connected to fet debugger




In order to debug using the msp430-gdb debugger from the command line, you need to start the gdb client within the mspdebug application.  The below screen shot shows this.

mspdebug hosting gdb client

Once the gdb client has been started, we can connect with the msp430-gdb debugger instance by using msp430-gdb binary-name.elf, as you see in the screen shot my application is Potentiometer.elf.  After the gdb console session starts up, you must type into the command session target remote localhost:2000 as that is the port that mspdebug's gdb client is running on . A console based session is shown below.

msp430-gdb being used in console mode



This is usable and quite fast, however it isn't very intuitive.  Many developers would prefer to use a GUI debugger interface.  The way to do that with these tools is to start the data display debugger from the command line in the following manner: ddd --debugger msp430-gdb binary-name.elf.

Aside from these steps, there is a way to just start the gdb client from the command line in one command as well: mspdebug rf2500 gdb 2000 .

Hopefully, this helps to make working with the debugger for msp430 micro controllers a little easier.






Wednesday, September 4, 2013



I started working with micro-controllers recently and needed an easy way to debug code in-circuit.
So I built an in-circuit adapter that allows me to use the Launch Pad's MSP430 fet Debugger while the micro-controller is setup in a breadboard.







Sunday, March 10, 2013

Getting back into Linux

Screen shot of my current Linux desktop ( SL6.3 ).