-
I nearly forgot to mention. This might be relevant
python ../stm32loader.py -p /dev/ttyUSB0 -e -v espruino_hystm32_28_rb.bin Reading data from espruino_hystm32_28_rb.bin Bootloader version 0x22 Chip id 0x410, STM32F1, performance, medium-density Read 256 bytes at 0x8000000 Read 256 bytes at 0x8000100 [...] Read 256 bytes at 0x8003000 Read 256 bytes at 0x8003100 Traceback (most recent call last): File "../stm32loader.py", line 516, in <module> verify = cmd.readMemory(conf['address'], len(data)) File "../stm32loader.py", line 321, in readMemory data = data + self.cmdReadMemory(addr, 256) File "../stm32loader.py", line 184, in cmdReadMemory if self.cmdGeneric(0x11): File "../stm32loader.py", line 136, in cmdGeneric return self._wait_for_ack(hex(cmd)) File "../stm32loader.py", line 87, in _wait_for_ack raise CmdException("No response to %s" % info) __main__.CmdException: No response to 0x11
I never thought much of it because writing went without error and Espruino seems to boot fine afterwards.
-
-
-
I have limited time right now to concentrate deeply on it myself (slacking at work)
But from what I can find in the Chinese PDF the display data lines are still on port B and C
Page 45 on http://ubuntuone.com/5SlQEe6epAYH8idhNCtpg2
Screenshot http://ubuntuone.com/2MkSYPDfDGkEn5X3jNJnPk
Will do a 1:1 check later comparing to the HYSTM32_28.py pins -
I understand.
I really liked the self contained nature of the system with display.
But I can wait for the proper board.I will have a dig around and report back when or if I get it to work.
The board looks different indeed. I was hoping it's only a board design change.
The display board has a full size SD card slot. So it has two in total. Not sure how far any other changes go. -
Sorry for spamming. I'm just going to dump a few hints here.
void ili9320_Initializtion()
{
/*****************************
** Ó²¼þÁ¬½Ó˵Ã÷ ** // Chinese comments THANK YOU!
** STM32 ili9320 **
** PE0~15 <----> DB0~15 **
** PD15 <----> nRD **
** PD14 <----> RS **
** PD13 <----> nWR **
** PD12 <----> nCS **
** PD11 <----> nReset **
** PC0 <----> BK_LED **
******************************/ -
$ cat /media/cdrom/uCOS_DEMO_V3-5408/Source/uCGUI/Config/LCDConf.h
#ifndef LCDCONF_H
#define LCDCONF_H
#define LCD_XSIZE (320)
#define LCD_YSIZE (240)
#define LCD_CONTROLLER (9320)
#define LCD_BITSPERPIXEL (16)
#define LCD_FIXEDPALETTE (565)
#define LCD_SWAP_RB (1)
//#define LCD_SWAP_XY (1)
#define LCD_INIT_CONTROLLER() ili9320_Initializtion();
#endif /* LCDCONF_H */ -
I had a look at the display board. The only chip I can find on that is the XPT2046 touchscreen controller.
The LCD controller must be buried somewhere on the actual LCD module. Probably somewhere on the Flat-Flex which is all gunked up with glue.
No other markings that appear useful.PS: This one http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=180819025871&ssPageName=ADME:L:OC:GB:3160
-
-
I didn't really reflect too much on the hardware choice. I saw the demo and went onto eBay. :)
The 3.2" version would not fit very well into my espresso machine, so I went for 2.8" which looked more suitable. :)
I never noticed the CPU differences.I must have a different LCD. The material on the CD is all Chinese, I found two .pdf for two different display controllers. A ILI9320 and a SSD1289. No idea which one it is.
I can rebuild. Once I removed the SAVE_ON_FLASH lines, will it auto-probe or do I need to tell it somehow what to try?
The board isn't too expensive to not buy a new one if it turns our to be useless.
-
Ah, thank you. This was the Demo I was looking for.
I'm beginning to wonder if I got the right hardware. :-/
I have a 2.8" inch display version (better fit for my project)The hardware difference seems to be with the SPI pins. At least with the Project 2 code that also sends SPI to the LED strips.
But the Touchscreen code specifically for the 2.8" version also does not run.I was not too concerned with that, because I thought the SPI stuff is just for the Touchscreen input. The Display should work independently.
Right assumption?This does not look right: (after loading the Touchscreen demo)
>dump(); var LCD = {}; function onInit() { SPI1.setup({sck:A5,miso:A6,mosi:A7}) SPI1.send([0x90,0],A4); // just wake the controller up } function touchFunc() { if (!digitalRead(C13)) { // touch down var d = SPI1.send([0x90,0,0xD0,0,0],A4); var pos = {x:LCD.getWidth()-(d[1]*256+d[2])*LCD.WIDTH/0x8000, y:(d[3]*256+d[4])*LCD.getHeight()/0x8000}; touchCallback(pos.x, pos.y); lastPos = pos; } else lastPos = null; } function touchCallback(x,y) { if (lastPos!=null) { LCD.drawLine(x,y,lastPos.x,lastPos.y,0xFFFF); } } var lastPos = null; setInterval(touchFunc, 50); SPI1.setup({"sck":A5,"miso":A6,"mosi":A7}); =undefined >SPI1 ={"_options":{"sck":A5,"miso":A6,"mosi":A7}} >LCD ={} >
I suppose LCD should get initialised by boards/HYSTM32_28.py?
I would not exactly expect a empty object.
Is there any way how I can interactively check if the board specific variables are set right?PS: Screen stays grey throughout. When I bought the board it ran a demo, that displayed fine in case it could be some analogue trimming issue.
-
-
-
-
-
Sorry, I lead you down the garden path there.
I did of course write the firmware with -w previously. (without any errors)
This was just to demonstrate that the validating part never works.
The firmware boots and shows no signs of missing any of it's memory.