Wednesday, June 7, 2023

BMP arrow code completed and SPI not being controlled by Linux driver

CHECKED THE DEVICE TREE BLOB FOR LINUX - SPIM0 IS NOT CONTROLLED

Linux makes use of a device tree to control the devices and define addressing/control information for all the device/function drivers. This is stored in a compressed 'blob' format, file suffix dtb, but the compiler which creates the blob can reverse it to give me the source file (dts suffix). Looking over the tree that was produced with my instance of Linux for the HPS side, I see that SPIm0 is disabled, thus I should be able to control it freely. 

BMP ARROW CODE CLEAN AND EASY

I was surprised as I dug into the commands and parameters I would be sending to the LCD controller to find out that it had a pair of commands, 0x2A and 0x2B, which set the left/right limits and the top/bottom limits for streaming pixel data. 

That is, if I set the left and right limits to the sides of the arrow position on the screen and set the top and bottom correspondingly, then when I stream in 130 lines consisting of 130 pixels, they will set only the pixels in that bound area. 

I had been expecting to have to reset the current position at the start and then after each line, writing just 130 pixels between each alteration, but this windowed mode is exactly what I need. 

HPS_LTC_GPIO TEST STILL FAILS

I attempted to set as an output GPIO40, which I generated to connect to the HPS_LTC_GPIO signal from the connector. It failed to emit a 1 value, just as it has failed to report input values. Just when I thought I fully understood, after months, the obscure signal routing for HPS signals, once again it doesn't do what I expected. 

No comments:

Post a Comment