Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by jscrane

  1. Grrr: looks like N is #defined somewhere in the thicket of headers included by Energia! Changing it to something else worked under the old compiler. Oh well.
  2. Hi everyone, I have a program which involves something like this: template<unsigned N> class Bar { public: char baz[N]; }; class Foo: public Bar<32> { }; Unfortunately this fails to compile under Energia, with the following error message: sketch_oct10a.cpp:0:19: error: expected ')' before numeric constant sketch_oct10a.cpp:0:19: error: expected '>' before numeric constant sketch_oct10a.cpp:0:19: error: expected unqualified-id before ')' token sketch_oct10a.cpp:6:22: error: expected template-name before '<' token sketch_oct10a.cpp:6:22: error: expected '{' before '<' token sketch_oct10a.cpp:6:22: error: expected unqualified-id before '<' token Since it compiles under Arduino, I'm guessing this is a bug in gcc version 4.6.3. This is an old compiler, from 2011. The compiler shipping with Arduino is gcc version 4.8.1, from 2013. Then I discovered TI's gcc implementation of gcc, version 4.9.1 from 2014, and sure enough it compiles this code fragment in a standalone source file. So my question is, has anyone any pointers to getting Energia to use this compiler instead of the default one? Failing that, is anyone working on updating the compiler shipping with Energia and if so, what the timescale is? Thanks, Steve
  3. Hi guys, I've been working on this for a while and I've written about it here: http://programmablehardware.blogspot.ie/search/label/interrupted Github is here: https://github.com/jscrane/Interrupted It now runs on Energia with msp430g2553. Feedback welcome! Steve
  4. Hello world, If your project has outgrown the capabilities of the Energia IDE, why not try Gnu Make? I've put together a set of Makefile fragments which support Energia (msp430 and lm4f) and Arduino 1.0, here: https://github.com/jscrane/uC-Makefile. For most projects, a Makefile as simple as this suffices: Followed by: Cheers, Steve
  5. Hah! I'd say the Speccie is a hard ask emulation-wise: I was thinking something easier like the PET 2001, or maybe a Lisp Machine...
  6. What I did on my Summer Holidays: http://programmablehardware.blogspot.ie/2014/08/retrocomputer-resurrection.html
  7. Following rickta59's advice and that here: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification I created a platform.txt file for the boot430 board. As a side-effect, it also integrates all of the msp430-based launchpad boards into Arduino (using the Energia cores). Should anyone be interested in such an heresy, they can find it here: https://github.com/jscrane/energia
  8. Excellent work guys! I'd just like to add that I noticed the occasional communication failure from the uploader when it was breadboarded. Today I moved it to a piece of stripboard and haven't seen a single upload error since.
  9. Thanks to the excellent work of simpleavr and friends on this thread, http://forum.43oh.com/topic/2962-bit-bang-usb-on-msp430g2452/ ... I now have a little stripboard msp430 development board with usb bootloader! I would now like to program it from Energia but one immediate stumbling block is that it uses a custom upload tool, not mspdebug. Any ideas how I can tell boards.txt (or anywhere else which needs to know) about this? Thanks, Steve
  10. I have modified the default pinouts for Stellaris to be compatible with Daniel Rebollo's boosterpack. This means that it should work out of the box with the UFTF_Demo_320x240 example for lm4f. I have also added Launchpad and Fraunchpad support. See https://github.com/jscrane/UTFT-Energia Cheers, Steve
  11. So reusing the SPI library as-is costs 50% in performance and wastes a GPIO? Suggests to me that SPI could use some refactoring love. Maybe split out a superclass for clients like FatFs and call into it from the existing class? Comments? Steve
  12. OK I went back to square one: * Original library from HK on ATmega328p with new 16-bit display HY32D (controller SSD1289): works ok * My latest library on same hardware: ok * Transferred display wiring to Stellarpad: wiring D0-D7=PB0-PB7; D8-D15=PE0-3+PC4-7; RS=PA_5; WR=PA_7; CS=PA_6; RST=PD_6; RD=VREF; VCC=VREF. ...and it works! So I guess the things you have to look out for: * getting the controller chip right (in sketch + memorysaver.h) * wiring the data bus correctly: PB now gets the low 8 bits (the ones which would be connected to ground in 8-bit mode) * connecting RD high Cheers, Steve
  13. I guess this is just because sport() uses bitwise-or to set bits, so you need to clear existing bits as well...
  14. I've done some more experimenting (in 8-bit mode) and have successfully driven my display (an S6D1121) from PE0-3 and PC4-7. When I combined that with PB0-7 (already tested in 8-bit mode) for 16-bit mode, nothing! I have checked in these latest changes to github anyway, maybe you could test with your display if it's different from mine? Steve
  15. Hi, You are right that there is a problem with 16-bit mode and I just fixed a bug where the bytes were written in the wrong order. However this still doesn't allow 16-bit mode to work! Maybe the GPIOs I picked are used for something else on the Stellarpad? (I'm using PF_2, PF_3, PD_2, PD_3 and PE_0 to PE_3 for DB0-DB7.) Steve
  16. If I had to add support for this board, I would do something like: * make a new config for HY28A, duplicating ILI9320 (in tft_drivers dir) * add a case statement for it to UTFT::UTFT setting display_transfer_mode=1 * add a new transfer mode for hardware SPI (have a look at Adafruit's ST7735 library, I think this does both hardware and software SPI). The first two steps should give you a working setup in any case. Cheers, Steve
  17. Hi, I have ported Henning Karlsen's UTFT library to Energia on Stellaris. You can find the code here: https://github.com/jscrane/UTFT-Energia This code shows how to do reasonably fast graphics using GPIOPinWrite() instead of digitalWrite(). It is a fork of the fine work done by Andresv, described on the 43oh forum here: http://forum.43oh.com/topic/3633-utft-library-utouch-henning-karlsen/ Cheers, Steve
  18. Well there must be people out there without an LCD BoosterPack who are using Energia specifically because of its Arduino compatibility? (I know this describes me for one.) Surely for such people the existence of familiar Arduino libraries is beneficial so they can get started easily with their existing hardware and sketches? Steve
  19. Hi everyone, I did a quick port of these two libraries to Energia on Stellaris. You can find them here: https://github.com/jscrane/Adafruit-ST7735-Library https://github.com/jscrane/Adafruit-GFX-Library Note that I used digitalWrite() rather than messing with port registers. The speed doesn't seem too bad all the same. At the moment, I have only tested with hardware SPI. If you inspect the changes I had to make for Energia, it might help with porting further libraries to Stellaris. Cheers, Steve
  20. So it seems to me that portOutputRegister() and digitalPinToBitMask() are used so that you can do things like reg |= mask and reg &= ~mask. Aren't these just faster versions of digitalWrite(pin, HIGH) and digitalWrite(pin, LOW)? So maybe get it working with digitalWrite first and optimize later? Just a thought, Steve
  21. I guess I have the same question :-) I have an ST7735 (1.8" TFT, Adafruit-alike) and I'm trying to use it under Energia on Stellaris: I'm _very_confused by the available options for graphics libraries... (I also have a 2.4" TFT with touchpad and SD slot but thought I'd try for the SPI-based one first as it was easy to get going on Arduino.) Thanks, Steve
  22. Hi Simpleavr, Thank you for your detailed response. I am using an HT7133 regulator for the supply with 4u7 capacitors as in "solution A". Removing the Zeners made no difference. I guess I will look out for an LDO and re-read this thread for more clues. Steve
  23. Hi simpleavr I built the circuit from here: https://github.com/simpleavr/boot430. (I used 2x68R and 2x3.6v zeners on D+/D-.) When I connect it to USB, the LED flashes some number of times then goes solid on. However the host doesn't recognise the device: $ dmesg [97109.424130] usb 6-1: new low-speed USB device number 55 using uhci_hcd [97109.832103] usb 6-1: device not accepting address 55, error -71 [97109.832136] hub 6-0:1.0: unable to enumerate USB device on port 1 This is Ubuntu 12.04, btw. Any ideas on how I can debug this? Thanks, Steve
  • Create New...