-
New PCB finished
09/28/2015 at 19:31 • 0 commentsHi there!
Lately I have very little time to take care of nWatch's software. I have some ideas, but I need some spare time to test them. Still I managed to finish the circuit board. It has many vias and thin paths that's why I'm wondering if I should try to make it at home, or just send it to a factory.
I'm afraid China has a state holidays right now, so the shipment of my parts is going to be delayed.
EDIT:
It's been a while since I've last updated the project. I have some good news. I found out ( maybe You knew it) that there are a few really good graphic libraries for embedded systems. I was really impressed by their's the capabilities. I decided to run one of them - stemwin. After day and a half I could finally run my LCD ( I had to edit some files, and write my own implementation of a driver). I havent tested all the features yet, but now I know that's the thing I was looking for. I feel a little pissed by the fact I've spent many hours preparing my own buttons textboxes etc. Hopefully I have learned something by that. When I make something solid I'll remember to add some photos.
-
Alfa channel, fonts and images
09/23/2015 at 22:35 • 0 commentsHello again!
This time I would like to tell You about my plans regarding the main menu. From the beggining I didn't want it to be usual tiles. I have some ideas, but I'll reveal them as soon as the're ready ;) For now I can say that I managed to display *.bmp files with the alpha channel. If You don't know what that is - it just allows to place the image without changing the area around the object on the image. Hmm that's quite hard to explain, but as it's said "a picture is worth a thousand words" :
I also managed to make alpha-channel fonts. They can be placed on the image, and they look transparent. It looks much better than ordinary images and fonts, but is also much slower. That's why I have to check if it won't slow down the scrolling of menu elements etc.Today I wanted to show You an image using my alpha channel. However they aren't displayed as they should be. What's funny normal pictures ( using DMA transfer) are displayed normally . Today I spent 2h looking for the bug and I couldn't find it... Maybe the dc-dc converter accident caused this, because before it worked just fine.
But... Fonts are working well ;) You can see that in the picture below the letters' backgroud is completely transparent.
I also took care about scroll list. I added movement after the user's finger is released from the screen. Now it look much more smoothly. Besides the list I programmed the upper/lowercase button in the keyboard function. I'll record a video tommorow ( ehh today ;) ) and I'll show You the progress.See You !
EDIT :
As I promised - the video showing new features of explorer :
I had some spare time so I decided to start designing my new PCB. Currently it looks like this :
I'm going to order sram memory and main controller ( stm32f407zgt6) today, so within 2 week it should be at my place.
-
Making the interface look better
09/19/2015 at 22:35 • 0 commentsHello again!
As I promised in the previous log, I took care of the interface apperance. Things that I've changed :
1. I added a slide next to the items of scroll list. For now the size of the moving element inside is constant, but I'm planning to adjust it to the lenth of the list. That's going to help the user to estimate the number of files.
2. I added a textbox in file explorer showing the path, and extended the number of files visible in the list to five.
3. Changed the look of buttons. Not only they're curved, but also they look a bit spatial. I achieved this efect by changing the color's brightness. I think the look much more proffesional now ;) .
4. I also added 2 extra buttons in keyboard. They aren't programmed yet, but as You can see one of them is going to switch keyboard to special characters, and the other between upper/lowercse letters.
5. I made the scroll list more smooth by not cleaning (painting black) the whole screen, but only the parts that need to be cleaned.
I've also thought about next pcb, and parts, but I'll write about it tommorow.
Here You can see the result of my work:
Today I’ll write a bit about my plans for the smartwatch. As I said yesterday I’m making a new PCB board. I decided to add external sram memory. It’s going to keep all the icons and is going to be used for storing the data read from LCD. I couldn’t run this memory on my current microcontroller, so I had to change it to a lqfp144 ( full fsmc feature) which is STM32f407zgt6 ( big guy ;) ). These are the main changes in the circuit. The PCB is going to be a challenge to design. It’s really small for so many components. First I’ll make it by myself and if I find no more bugs I’ll send the project to a professional PCB factory. I’ll also add a button to wake up the watch.
Till then I’ll design the upper bar( to show the battery percentage, and other icons), and think how to make a nice-looking menu. I’ll also add a cursor in the textboxes, so the user can pick the place of edit.
Oh yes I didn’t tell You that I was hesitating for a while about using an RTOS system. It would be super-professional then (and would use 100% of CPU power) ,but I simply think that it’s not needed, and can diametrically slow down the watch. However I don’t reject this idea completely. Maybe eventually I’ll change my mind.
-
Temporary suspension of the project
09/17/2015 at 19:17 • 0 commentsI had a little accident with dc-dc step up converter for LCD's backlight. I think there was a problem with connection of the converter, but I'm not sure. Anyway my stm32 is not responding at all, even in reset mode. I think I fried it. Now I'm making a new board with a sram external memory and a bigger stm-stm32f407zgt6 to drive this memory. The PCB is going to be quite an challenge, but I have about 2 weeks until the stm32 arrives from China ;) .
I'm sorry to say that, but I didn't expect something like this to happen. Of course I'll keep You posted when I finish the PCB, hopefully without any bugs this time ;)
EDIT: Hmm that's weird - I tried to programm it today and it loks like it's still working well. I don't know what is going on - yesterday I was getting messages saying Error: Flash driver function execute error, and I couldn't erase the chip using st-link utility. Anyway I'm happy to say that the project is still alive. Although I haven't changed my decision regarding external memory and new PCB.
Tommorow I'll start working to get better looking buttons, list, and textboxes. See You ;) !
-
Brief keyboard and file explorer description
09/15/2015 at 19:40 • 0 commentsButtons, scroll lists and textoxes are just simple C structures with some functions to controle them. They all are capable to detect a single click and hold. Scroll list and textobxes can additionally detect a finger shift and react on it, by moving the list items, or moving the text in textbox (if it's too long to be showed at one time ). Of course I have com plans regarding them - I'm planning to add an slide to show how long is the list, and some other cosmetic fixes (smoothen corners of the pixel boxes) to make the list look better. I was planning to add an label on the top of the list saying something like " choose an *.txt file " to tell the user what he/she should do. I have thought about textboxes too. Now they are only able to add or delete text at the end of the string. In the future the user is going to be able to pick the edit place by simply moving the cursor.
Hmm now I can see that I haven't showed You the keyboard in my (poor quality) video. So I made another one ;)
In the second video You can see the keyboard and a textbox used to rename a file. You have to simply hold an list iten You want to edit. I'm planning to add 2 more buttons which are : uppercase/lowercase letters and special characters. Of course the keybard is going to look nicer, but this is not the priority.
As the quality is a bit better You are likely to see the icons next to file names. They have given me a hard time, because I have to store them in internal RAM memory. Touch fifo overflow interrupt is making the sd card read function impossible to finish without an error. So I partially solved the problem by putting the icons in the stm's ram. However it's not the solution - finished watch is going to use much more icons, for sure more than 3 ;) . I'm thinking about external sram memory, but I'm not sure if it won't disturb the display ( by working on the same fsmc bus). It's still a concept, not a working solution.
Second video (keyboard and explorer) :
Copy rc5 app:
If You have any questions, fell free to ask ;)