maemo
Understanding n810 NJoy Programming
by TrueJournals on Jun.14, 2009, under maemo
I think this would be a good place to archive my explanation of NJoy programming. I was asked about how the patterns in mce.ini for the n810 work, with PatternError given as an example. This was my reply:
The different sections of the line are separated by semicolons. So, priority is the first part, then a semicolon, then the “ScreenOn” value, then a semicolon, etc. So, I’ll use your example and point out each section of the programming.
0;1;0;40002000200040ff200020000000;0000;0000
To make this easier, I’m going to assign an index to each section of the command. I’ll split the string up by the semicolons. We’ll say the first character (a zero, in this case) has an index of 1. The second part of the split (a one), has an index of 2, etc, etc.
0;1;0;40002000200040ff200020000000;0000;0000
Index 1 defines the priority. If two patterns trigger at once, items with a higher priority (lower number for this section), take precedence, because only one pattern can be going at once. Since the priority is 1 (0 being the highest priority, 255 being the lowest), this pattern will display instead of almost any other pattern (the exception is patterns that have a priority of 0)
0;1;0;40002000200040ff200020000000;0000;0000
Index 2 defines whether or not the pattern should fire based on what state the display is in. In this case, it’s a 1, which mce.ini tells us means “show pattern even when the display is on”. So, this pattern will display no matter what.
0;1;0;40002000200040ff200020000000;0000;0000
Index three gives the timeout. This can tell the pattern to stop firing after a certain amount of time. In this case, it’s a zero, which means that the pattern will never stop firing (unless it’s told to).
0;1;0;40002000200040ff200020000000;0000;0000
Index four starts the actual programming of the LED. Index four gives the programming of the RED LED. It also gets a bit more complicated here. We have to split this section up into strings of four characters each in order to understand the programming. This is what the pattern looks like, split into four-character strings, with each string separated by a pipe (|):
4000|2000|2000|40ff|2000|2000|0000
So, there are seven different commands given to the red LED. Let’s take a look at them one by one:
- 4000 — This sets the brightness of the LED (anything starting with a 40 will change the brightness). I believe this tells the LED to turn off (0 brightness). I believe that ff would be 100% brightness.
- 2000 — This bumps the brightness up over a certain amount of time. This gets REALLY confusing. The first two characters, 20, tell how long it should take to change the brightness. 20 is in the 01 – 3f range, so we get “short” steps. If I understand this, we get 19 “short” steps of time ~0.49ms, so this should take about 9.31 milliseconds. The next two characters, 00, defines how many steps in brightness the LED should take. 00 is no change, so the pattern will pause for about 9.31 milliseconds.
- 2000 — Because this is the same command as above, this will also create a 9.31 millisecond pause.
- 40ff — Again we see a 40. This says to change the channel brightness. This time, we’re changing it to ff, which should be 100% brightness. So, this command turns the LED on.
- 2000 — This creates another 9.31 ms pause.
- 2000 — This creates another 9.31 ms pause.
- 0000 — This tells the pattern to loop (“jump to the start of the pattern”).
So, the red LED will turn off, pause for (2*9.31 ms =) 18.62 milliseconds, turn on, pause for another 18.62 milliseconds, then loop.
0;1;0;40002000200040ff200020000000;0000;0000
Index five gives the pattern for the GREEN LED. This is a very exciting pattern. It simply tells the pattern to repeat again and again and again. So… nothing happens with the green LED.
0;1;0;40002000200040ff200020000000;0000;0000
Index six gives the pattern for the BLUE LED. Again, very exciting. The blue LED does… nothing.
I hope this helps you understand how the programming works.
Maemo is Now a Phone?!?
by TrueJournals on May.28, 2009, under maemo, thoughts
Let me repeat that. It appears that the next device Nokia is going to release with the Maemo operating system is a phone.
This device is supposed to be all we thought it would be. Only, there are a couple major differences from what we thought it would be. First off, we thought it would be a data-only connection, with voice coming later. Secondly, we thought there would be a 4″ screen (based on the previous tablets). Finally, it appears that, due to the phone aspect, it will be locked into a carrier. If leaked information is right (and Nokia internals seem to confirm this), then the leak is absolutely correct, and… we’re screwed.
When I bought my Nokia 770, I thought it was the coolest thing I had seen. I wasn’t looking for a phone (I don’t have a cell plan… don’t have much need for one… yet…), yet this was a device that I could carry around and browse the web, etc. It wasn’t terribly powerful, but that was OK. Then, I got a N800, which blew me away. It was amazingly faster, and I thought it did a great job at what it was designed to do: an Internet Tablet.
Recently, the maemo community has been trying to pull itself together (not without objection). The maemo website has been redone, beta SDKs have been released, Internet Tablet Talk has been moved to talk.maemo.org, and it seems like everyone is waiting for a new device. It seems that Internet Tablet Talk moving to talk.maemo.org was a key point to Nokia’s next device. If they were not going to put out an Internet Tablet, but instead release a phone, they couldn’t have a website called Internet Tablet Talk talking about Maemo, now their phone operating system. So, what did they do? They decided to “pull the community together,” and remove “Internet Tablet” from Maemo.
Now, I don’t think the development of a phone is a terrible idea, and it’s where Maemo needs to go, but I’d like to see Nokia keep the Internet Tablet spirit, while adding phone features. The spirit of the Internet Tablets was to have a pocketable device that you could take and get internet anywhere, and have a nice, good-sized, good resolution, 4″ screen. This, to me, seems like the perfect screen size for this device. It’s small enough to be pocketable, but big enough to be readable. Yet, with the next Maemo device, Nokia is downsizing, but keeping resolution.
What does this mean? It means that text will be smaller. One of the design points of Maemo 5 was to make the interface “finger friendly” (this hinted at the lack of a stylus in the next device). However, putting the same resolution on a smaller screen means that UI components now need to be huge. It seems that this is a step backwards. We will have more processing power, so we want a bigger screen, so we can do more with it. Higher resolution, right? Well, Nokia cheated at this. By making the screen smaller, but keeping the resolution the same, they have a higher DPI, which will be percieved as a higher resolution.
But, is this really what’s best for Nokia and Maemo? Nokia is clearly trying to get Maemo devices more mass-marketed. They seem to believe, due to the low sales of previous internet tablets, that Maemo will be better off in a phone. Phones just generally sell more. Or do they? Nokia advertised the internet tablets just about not at all, and Apple, with the iPod Touch, has proved that there is a market for a portable WiFi computing device that can fit in a pocket. Sure, the internet tablets were designed with Nerds in mind, but I think that if Nokia worked on marketing the internet tablets, there would have been a bigger market.
However, this is the benefit of phones: Nokia doesn’t need to do any advertising. Sure, there are advertisements for phones, but, generally, advertisements are for phone networks. The network sells you the phone, and advertises for whichever one makes them the most money. But, when you go in to buy a phone, all the phones are out on display, and you can pick which one you want. Not once did I ever see an internet tablet “out on display”. So, the phone market creates free advertising.
Overall, I’m disappointed that this is the direction that Nokia is moving with the Mameo platform. I liked the internet tablets being a niche device that no one else has. I enjoyed showing off my nerdiness by pulling a computer out of my pocket. Now, it’ll just be another smart phone. No big deal. Everyone has one of those.
tearboookmarks 0.3.1-4
by TrueJournals on Apr.22, 2009, under maemo, python
Last night, I relased tearbookmarks 0.3.1-4. It’s a pretty major update, but I refuse to give it the 1.0 until tear itself is out of beta. This release includes multiple new features. First, the menu load is completely dynamic. The plugin will first check if the bookmark database has been updated since it last grabbed its information. If it has, it will update the menu, then display it. If not, it’ll just show the menu. Loading the menu items could take a bit of time, but I’ve done the best I could to make it as quick as possible.
Second, this release includes the long-awaited folders. While tear itself doesn’t allow you to manage folders, bongo’s bookmark manager should (in the near future) have this option. Folders show up at the bottom of the menu, below all your bookmarks, and also load dynamically, so they don’t take time while loading with the main menu.
Third, this release includes some better handling of how to open tear. It removes the overhead needed to launch the tear executable if tear was already running, and is instead now using dbus directly. It will also show the “Loading…” information box when launching tear for the first time.
Finally, this release includes bongo’s bookmark manager, including a shortcut to the bookmark manager in the menu. This shortcut is placed in the same position as the default bookmark plugin, to mimic the actions of that plugin best.
tearbookmarks 0.3.1-4 is available in extras-devel for diablo only. If you enable extras-devel to install tearbookmarks, please disable it immediately after.
Defining Content / “We don’t need rules”
by TrueJournals on Apr.11, 2009, under maemo
While I am not officially part of Internet Tablet Talk‘s move to talk.maemo.org, I do like to contribute my opinion to what’s going on. Recently, there’s been some interesting discussion. Since I’m very apt to sharing my opinion, but not all of it is suited for sharing in threads on iTT, I’ll post it here.
First, there’s the issue of defining what content is. When the community was informed of the move, we were basically told this: “There will be no change in content, only the URL and a few cosmetic changes.” Looking at the current state of iTT, some may say that “a few cosmetic changes” has been taken too far. While the themes on the forum, as of today, remain the same as always, the whole structure of the forums has been redone. The work has mostly consisted of renaming forums, and removing multiple, mostly unnecessary subforums, it seems a radical change. However, is this really considered the content of the forums. On most websites, a refactoring in the navigation of the website would only be considered a cosmetic change. All the old content is still there, the path to find it is just slightly different. So, why is the same not true on iTT? All the old threads and posts are still there, they’re just in slightly different places. The exception to this, however, seems to be the new maemo.org forum. However, the old layout had a “Website/Suggestions” forum, and because iTT is moving to talk.maemo.org, this now seems like a logical name for the “Website/Suggestions” forum. (continue reading…)
mcedit
by TrueJournals on Apr.10, 2009, under maemo, python
mcedit is designed to make editing the system file /etc/mce/mce.ini easier. It exposes via GUI some interesting configuration options that are normally hidden away. It is a work in progress, and is not yet feature-complete, and should not be used by most people yet. I take no responsibility if anything bad happens to your tablet while using this program. It is my first python programming using all pure python and GTK, no glade file.
It is available in maemo extras-devel for diablo. A download link will be provided when mcedit is end-user ready, and in extras. For now, you’ll just have to live with a screenshot.
pyRdesktop 1.5.0-6 / rdesktop-cli 1.6.3-maemo2
by TrueJournals on Apr.10, 2009, under maemo, python
Since pyRdesktop depends on rdesktop-cli, this post contains information about both. The reason for two separate packages is twofold: one, so that I can push updates for each application separately; two, so that those who just want the CLI version of rdesktop can get that.
pyRdesktop is a new frontend for rdesktop, designed to be optimized to work on the internet tablets. It features all the basic options, some advanced options, and support for multiple remote desktop profiles (in case you have multiple computers/ip addresses). On clicking “connect”, it simply runs rdesktop-cli. While it does not allow full control over what parameters are passed to rdesktop-cli, it gives options for the most popular.
pyrdesktop is available in maemo extras (diablo and chinook). Direct download link
rdesktop-cli is, as the name suggests, the command line rdesktop client. It has some hildonization (which isn’t perfect). The package is intended to be used in conjunction with pyrdesktop.
rdesktop-cli is available in maemo extras (chinook and diablo). Direct download link
Tip Calculator 1.3.0-5
by TrueJournals on Apr.10, 2009, under maemo, python
A simple tip calculator written in python and glade, designed for maemo. Features include support for calculating tip before tax, then adding tax (as a percentage, or a price), and splitting the bill between multiple people.
Tip Calculator is available for download in maemo extras (diablo only), but should work on all versions of maemo. Download link
Weight Watchers Calculator 1.1.0-1
by TrueJournals on Apr.10, 2009, under maemo, python
This is a simple calculator for Nokia Internet Tablets to calculate weight watchers points. Simply input the calories, grams of fat, and dietary fiber in the food, and click “calculate points”.
The weight watchers calculator is written in python and glade, and available in maemo extras for diablo, however, it should work on any version of maemo. Direct download link