I quite regularly want to search a folder of code for a specific use of a function or feature. In Windows 7 search this functionality to search file contents is not often possible by default. There is a simple way to enable this however...
I started to look into some algorithms for path finding in known environments in order to provide a navigation map based on waypoints in order to reach any given target position within the environment. The aim is to allow a robotic system to navigate from it's current position to a given target position avoiding obstructions within it's workspace. The obstructions are known and pre-defined in the system, the obstructions are specified as simple rectangular shapes that define the extents of where the robot cannot move (i.e. it can move right up to the edge of the specified rectangle without collision).
I am always on the lookout for new processors that I can use for my projects at home and at work. My recent discovery is the ARM Cortex M3 based mbed LPC1768 device from NXP.
The device uses an NXP LPC1768 ARM Cortex M3 processor embedded on a small footprint development board with some great features for quick development.
- Built in 3.3V regulator
- Debugging USB port
- Online development environment with access to lots of peripheral libraries
- Simple device programming by copying binary onto device as if it was a USB drive
- Ethernet capability with just an Ethernet Magjack socket
- Additional USB connectivity
- CAN Bus
- Analog inputs and output
- PWN outputs
- SPI, I2C and Serial interfaces
The mbed's are around £40 which although isn't as cheap as some of the Arduino based solutions around is actually quite reasonable for the performance and features available. It also uses 0.1" (2.54mm) pitch headers that are designed to fit directly onto a breadboard.
One of the unique things about this device is that it is not just a processor on a board, it is actually two processors, an Ethernet PHY, flash memory power supply components and status LEDs. The main M3 processor runs the application as normal but a secondary processor handles communication with the PC and exposes the mbed as both a USB drive and a USB serial port. When the application is compiled a binary is saved onto the flash chip of the mbed via the USB interface (just like saving files onto a USB key drive), then when the mbed is reset the secondary processor boots up first and checks which binary file on the flash drive is the latest and then saves this program to the main processor. The main processor is then started as normal. The secondary processor also exposes a USB Serial port which can be used to debug the program and send data to it.
This little device is well worth checking out if your interested in embedded programming and is a simple way to get started with ARM based development.