So it seems a bad week has gradually got worse. Out of the blue, it seems the toolchain used by CCS has disappeared (but hasn't) meaning that nothing can be compiled. While I can still write the code, there is currently no way of testing it. Rather infuriating at this point, but we shall try again another day.
The second problem, and the slightly more annoying one, is the display. After another afternoon of work, three different processors and offering to take a hammer to it, it still doesn't work. There is unfortunately no way of testing whether it is the LCD itself or the onboard controller. Although there was progress with getting it to power up and show something (A line, which looked a lot like a glitch), that soon disappeared. Despite the variations in the code, both from the datasheet and and based on the obvious "throw some data at it to display", nothing seems to be displaying. It seems that it is most likely the onboard controller that is at fault. After sending the first bit of data, the system tends to just hang, presumably from the I2C drivers blocking while waiting for an acknowledgement.
The upside of this week however is that the motor and light drivers have been narrowed down. The current choice for the LED driver, needed to adjust the brightness in the room, is the TPS61042EVM-226. This is should provide the PWM control required rather than varying the voltage going to the driver. Similarly, PWM is planned to control the motor. By doing this, a few options are left open in terms of the type of motor. At present a stepper motor is on the cards, for this reason a suitable driver is needed, such as the DRV8805EVM. Out of the range for this part, this particular one has a step function that can be pulsed to move the motor on one space. Applying this pulse through PWM should keep it moving for the time required. In the future, should a stepper motor become impractical for any reason, this method would mean no software would need to be changed (duty cycle may need varying, but compared to implementing a new driver it is fairly simple). It would just be a case of plug in the new driver, assuming a standard format for connections between the motor control board and the motherboard part (Lovely modular design that possibly won't make it onto the first PCB)k, and continue.
The plan for this coming week is to get CCS working again, or find the MSP GCC tool to at least try and get going with that. Meanwhile a bit of shopping needs to be done to stock up on perfboard and some rather useful supplies. I would highly recommend stocking up on parts like JST (JAPAN SOLDERLESS TERMINALS) - SMF-20LV300-D. - LEAD, CRIMPED, 300L JST (JAPAN SOLDERLESS TERMINALS) - SMF-20LV300-D. - LEAD, CRIMPED, 300L , they are something of a life saver when you need some terminals on a lead. Some small pieces of protoboard are also a great help. With the LCD being used, a small breakout board was needed. A small section of ribbon cable (nice and thin to match the small spacing on the pins), a tiny protoboard and some of the crimped leads make a decent adapter and provide space to include some of the support circuit like caps and pullup resistors. The advantage of the crimped leads is that you do not need to change the headers on the FRAM board, you can just slide them on. Without the plastic cover, they are not the most secure, but remembering not to put your pen under the cables will help that!

