maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   The Other Half (https://talk.maemo.org/forumdisplay.php?f=59)
-   -   Producing Qwerty OtherHalf --order counter: 75/75 --ordering closed (https://talk.maemo.org/showthread.php?t=91535)

Redfizh 2013-12-10 13:22

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by dirkvl (Post 1394409)
. I have an extra launchpad if you don't want to wait two months on china ;)

No thanks. Maybe just for a single test but I'm not working for DIY-project although it sound's awesome. I'm just making model (that works) just in paper so I could pass it on... If I wouldn't have my family and chicken-farm, I've had this project as my main goal. This is why cheap and simple plan is good. It make's selling this easier.

Seem's that I have to re-wire everything. I downloaded this Kicad and use it instead ExpressPCB. Kicad allows me to make my own components. 3D-Model is in ice until I'm sure about electronics. I just have some body made and unfinished button of 9x7mm size. I've counted that in 13 keys wide and 4 rows high keyboard (with small space between buttons) could fit to Jolla's scales so that It would still have some space to hold on. Also second and third rows have directional buttons at the left side. I got inspiration from E90 and N97. It has directional button where N97 but space around is given for key's that it doesn't bother Qwerty-writing at all like ESC or FN. 3D-model doesn't even have style of grip so let's forget this for a while.

So just to make sure:
- Rows and Columns doesn't have anything else but diodes at row's side of the component allowing current only from rows to columns.
- Reset doesn't lead anywhere cause keyboard will lose it's power when closed. When power is turned on, chip will automatically reset.
- SCL, SDA, INT, GND are wired directly to the phone. Manual say's SCL and SDA don't need pull-ups, but then again it say's it otherwise at the part where each pin is introduced.
-VCC is connected to...3.3v? 5v and regulator?
-LED's will be not used. Those leds are not meant to be as keyboard lights right? i2C could power stronger light-system outside TCA8424

Correct everything I said :D

rainisto 2013-12-10 13:34

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by cvp (Post 1392912)
i see DC=5V, it is for a charger like wireless or solar.
But what happend if i connect a 3,8V Accu? it will be not charge the internal accu, i know that, but will be give extra power if the internal accu is empty?? ♠

Sorry nope 3.8V Accu wont do anything since everything under the treshold limit.

5V pin is connected to charger circuit. The DC charger circuitry inside the phone will draw at maximum 1000mA at 5V. The charging is automatically stopped once phone's battery is full. Please note that charging effectively stops if the VIN voltage drops below 4,3V.

Oblomow 2013-12-10 14:00

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by rainisto (Post 1394516)
Sorry nope 3.8V Accu wont do anything since everything under the treshold limit.

5V pin is connected to charger circuit. The DC charger circuitry inside the phone will draw at maximum 1000mA at 5V. The charging is automatically stopped once phone's battery is full. Please note that charging effectively stops if the VIN voltage drops below 4,3V.

Do I understand correctly, this means a second battery Otherhalf needs an additional voltage regulator and would look to the phone like a charger, so battery level is not available (at least not straight forward)? And that there has to be an own power_in at the Otherhalf, but it could charge also the main battery through it? Or do you maybe know the max. current available on the 3.3V-line?

juiceme 2013-12-10 14:01

Re: Building OtherHalf keyboard prototype
 
I just thought of couple of scenarios;

In addition to the i2c pins, there's the IRQ pin which was said to be wired in GPIO in the device. Now, as normally it is meant to serve as input line from the peripheral to the device, I assume it can also be programmed to act as output.

So, if normally IRQ is pulled up and the peripheral asserts it to zero when it has somethiing to say, could not the master device also assert it to zero to reset the peripheral? (it's no brainer to wire it so in the peripheral end...)

Additionally, if have a device that does not create events itself and has no need for signalling the master device I assume that this line could be used as extra data line to potentially double the downlink bandwidth, for example that a display-like peripheral could be refreshed faster...

And one thing still, is the Vout pin software controllable, meaning can I power-on/power-off the peripheral easily?

Redfizh 2013-12-11 17:43

Re: Building OtherHalf keyboard prototype
 
Just destroyed E90. It has 125 x 40 mm keyboard in 5 rows without shortcuts. I've tried to see key-matrix but it was insanely high-tech-space-age. Instead of buttons it had small strips of metal hopping on circuit.
E90's mat fit's perfectly and leaves some space for grip and allow's even to reveal camera... at least that's how I figured it out: You lower your keyboard just to take a photo.

I loved that keyboard

Now I'm wiring it for third time with directional keys at the spot where E90 has them. Instead of a huge enter-key, I'll set enter to the middle of the directional keys. I squeeze 5 rows in to 4.

Are you Dirkvl still using N900 -mat. I recommend this one.

Diode in each key (in combinations) that causes ghosting solve's the problem. Are you still sure about pull-up-resistors since manual says both: doesn't need and does. Or doesn't need them somewhere else than SDA and SCL.

dirkvl 2013-12-11 17:51

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by Redfizh (Post 1395081)
Just destroyed E90. It has 125 x 40 mm keyboard in 5 rows without shortcuts. I've tried to see key-matrix but it was insanely high-tech-space-age. Instead of buttons it had small strips of metal hopping on circuit.
E90's mat fit's perfectly and leaves some space for grip and allow's even to reveal camera... at least that's how I figured it out: You lower your keyboard just to take a photo.

I loved that keyboard

Now I'm wiring it for third time with directional keys at the spot where E90 has them. Instead of a huge enter-key, I'll set enter to the middle of the directional keys. I squeeze 5 rows in to 4.

Are you Dirkvl still using N900 -mat. I recommend this one.

This thread is for design to keep it tidy.

Quote:

Originally Posted by Oblomow (Post 1394524)
Do I understand correctly, this means a second battery Otherhalf needs an additional voltage regulator and would look to the phone like a charger, so battery level is not available (at least not straight forward)? And that there has to be an own power_in at the Otherhalf, but it could charge also the main battery through it? Or do you maybe know the max. current available on the 3.3V-line?

Excellent discussion and info for this thread!

Quote:

Originally Posted by Redfizh (Post 1395081)
Diode in each key (in combinations) that causes ghosting solve's the problem. Are you still sure about pull-up-resistors since manual says both: doesn't need and does. Or doesn't need them somewhere else than SDA and SCL.

Advice: don't go for the 'one million diodes' solution against ghosting, this makes the design and build very complex! AFAIK all the pull-ups etc are internal!

rainisto 2013-12-12 15:06

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by Oblomow (Post 1394524)
Do I understand correctly, this means a second battery Otherhalf needs an additional voltage regulator and would look to the phone like a charger, so battery level is not available (at least not straight forward)? And that there has to be an own power_in at the Otherhalf, but it could charge also the main battery through it? Or do you maybe know the max. current available on the 3.3V-line?

Yes your assumption sounds right (if on seperate battery, then you need to use i2c for batterylevels). Buf of course you could just design double sized battery which replaces the main battery and not worry about that.

Current limitation from that pin is maximum 300mA but 150mA is recommended max current drawn from this pin to avoid any thermal issues.

minimos 2013-12-12 18:11

Re: Building OtherHalf keyboard prototype
 
Question probably for rainisto: looking at the back of the device, on the bottom left part the device frame has a black sticker. Is it protecting something? Is so, what?

rainisto 2013-12-12 20:29

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by minimos (Post 1395658)
Question probably for rainisto: looking at the back of the device, on the bottom left part the device frame has a black sticker. Is it protecting something? Is so, what?

Most likely yes, but I have no idea what :) wild guess would be antennas.

minimos 2013-12-12 22:29

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by rainisto (Post 1395714)
Most likely yes, but I have no idea what :) wild guess would be antennas.

Thanks.
(must resist peel it off, must resist peel it off, must... resist... peel it... off... :) )

Redfizh 2013-12-13 03:32

Re: Building OtherHalf keyboard prototype
 
What a nice Idea. Extra battery of keyboard doesn't have to be connected to I2C. Just bigger one or many in the batteryslot and part of the cover that grips to phone.

Is it wrong to power lights of keyboard straight from the battery with a single switch when keyboard is pulled?

kimmoli 2013-12-15 23:00

Re: Building OtherHalf keyboard prototype
 
Noticed few things, 3.3V is swithed off when the OH switch is released, and when putting cover back on, toh-core (or maybe 'tohd' - the other half daemon?) is looking for at24 eeprom from i2c-1 bus (addresses 0x50 through 0x57.

Devices when OH removed
Code:

[root@localhost devices]# ls
0-0028  12-0012  3-0020  4-001a  4-0048  4-006c  i2c-12
0-0030  12-0039  3-0038  4-0020  4-0060  i2c-0  i2c-3
12-0010  12-006a  4-0015  4-002a  4-0066  i2c-1  i2c-4

and when installed
Code:

[root@localhost devices]# ls
0-0028  1-0051  1-0054  1-0057  12-0039  3-0038  4-0020  4-0060  i2c-0  i2c-3
0-0030  1-0052  1-0055  12-0010  12-006a  4-0015  4-002a  4-0066  i2c-1  i2c-4
1-0050  1-0053  1-0056  12-0012  3-0020  4-001a  4-0048  4-006c  i2c-12

some dmesg entries:
[25526.724549] at24 1-0050: 2048 byte at24 EEPROM, read-only, 0 bytes/write
[25526.755100] qup_i2c qup_i2c.1: I2C slave addr:0x50 not connected
[25526.776220] toh-core toh-core.0: No valid eeprom present

any knowledge what toh-core , and what it is expecting to read from this eeprom?

Zeta 2013-12-16 21:31

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by kimmoli (Post 1396890)
what it is expecting to read from this eeprom?

Probably same principle as Beagle Bone caps:
To make the system "plug and play", every other half contains an eeprom with some configuration data, so that when you plug one, the phone requests that info and then knows what to do : load that driver (for the useful I2C chip along the eeprom), run that program, ...

Just and educated guess. To be confirmed by someone from Jolla.
Nice finding kimmoli !

kimmoli 2013-12-17 00:40

Re: Building OtherHalf keyboard prototype
 
Just ordered pcb for my i2c breakout board for jolla (has at24c02, 1.8V LDO for it and i2c level converter to attach also 3.3v i2c devices if/when the support is released within sdk), and printing "myOH" to hold the board in place.

Also just read this http://www.jollausers.com/2013/12/fi...own-to-public/
tempting... i have few wireles charger from dx waiting to be used for something else than supercapacitor-led-lamp-thing-charger.

Kaacz 2013-12-21 20:53

Re: Building OtherHalf keyboard prototype
 
What about TI LM8330TME [/NOPB] ?
http://www.ti.com/lit/ds/snvs839a/snvs839a.pdf

Hmm .. scary pins .. must be pressed to pcb .. need more space in TOH ..

kimmoli 2013-12-25 12:40

Re: Building OtherHalf keyboard prototype
 
Made simple i2c scanning app,

https://lh3.googleusercontent.com/-l...1223021017.png

and measured that there is i2c available on the bus.

https://lh6.googleusercontent.com/-j...no/scope_0.png

To get 3.3V out, i need to wait for next update... but my pcb hasn't yet arrived anyway - when it arrives probing will be so much easier.

dirkvl 2013-12-27 11:18

Re: Building OtherHalf keyboard prototype
 
can you send me that app? i could check whether it recignizes the tca8424! will work with external 3.3v right?

kimmoli 2013-12-27 15:24

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by dirkvl (Post 1400976)
can you send me that app? i could check whether it recignizes the tca8424! will work with external 3.3v right?

noo http://talk.maemo.org/images/icons/icon4.gif, you need external 1.8V, as the i2c on Jolla is 1.8V (seems that TCA8424 will work downto 1.65V)

The app can be downloaded here-> i2ctest

You need to start this as root from console, otherwise it doesn't work at all.
Select /dev/i2c-1 on first page, then pull down to start scanning.

(HB is just a counter testing C++/QML interaction as if you start the app from console when the screen is off, the app doesn't work correctly)

It tries just to read from the device without settings the buffer address first. If it works, you should see green box at address 38.

When i get my own board from oshpark, i will add some i2c read/write functions to this (piic and diic)

All disclaimers will apply

dirkvl 2013-12-28 16:46

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by kimmoli (Post 1401059)
noo [url]
You need to start this as root from console, otherwise it doesn't work at all.

Since I am more a hardware -than a software- kind of guy, how do I start it as root?

I already got it installed and running, but the chip is not yet recognized.

szopin 2013-12-28 16:50

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by dirkvl (Post 1401555)
Since I am more a hardware -than a software- kind of guy, how do I start it as root?

I already got it installed and running, but the chip is not yet recognized.

In fingerterm:
Code:

devel-su
<password from developer mode SSH>
/usr/bin/i2ctest

edit: for more friendly <sudo command>, you can 'pkcon install sudo' and then add this to /etc/sudoers file:
Code:

nemo ALL=(ALL) NOPASSWD: ALL
Should skip asking for password too

dirkvl 2013-12-28 17:14

Re: Building OtherHalf keyboard prototype
 
Succes! Green square @ 3B!

http://oi41.tinypic.com/29dizrl.jpg

dirkvl 2013-12-28 17:32

Re: Building OtherHalf keyboard prototype
 
Okay, lets get some stuff moving! I need a software man!

Since Sailfish has the I2C_HID driver built into the kernel and the TCA8424 is I2C_HID compliant, it should be do-able to connect the dots.

I imagine the phone wants to know that:
-what address the chip is on
-the chip is a keyboard
-it should listen to the interrupt line and then read out the key
-key-mapping in the phone? (there is a keyboard mapped on the chip)
-pushing the input to Mallit

http://nittygriddy.com/wp-content/up...oyote-Help.jpg

dirkvl 2013-12-28 21:47

Re: Building OtherHalf keyboard prototype
 
Okay, no more need of external 3.3v power source!

Vdd on
echo 1 > /sys/devices/platform/reg-userspace-consumer.0/state
Vdd off
echo 0 > /sys/devices/platform/reg-userspace-consumer.0/state

Now it really is just a software issue! Feel free to jump in!

Redfizh 2013-12-29 05:19

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by dirkvl (Post 1401647)
Now it really is just a software issue! Feel free to jump in!

I'm not a right person but I'll spread the word of need. :)

dirkvl 2013-12-29 14:27

Re: Building OtherHalf keyboard prototype
 
I emailed Developer Care for some help on the software side, hope they can help!

Anyway, I opened a donate account. When I have a proof-of-concept ready in the very near future, I will design and order some development PCB's! They will probably cost some 30-40 euro's a piece. Also I have invested pretty heavily in the TCA8424 and its evalutation module.. :-)

jalyst 2013-12-29 15:50

Re: Building OtherHalf keyboard prototype
 
$16 AUD donated, more later possibly, thanks for your enthusiasms/passion/persistence...

jamar 2013-12-29 16:45

Re: Building OtherHalf keyboard prototype
 
Donated € 20 for now, will be able to spend more on January. HW Qwerty is now really important thing on Jolla for me, so thanks for your effort so far and keep up the good work!

dirkvl 2013-12-30 09:36

Re: Building OtherHalf keyboard prototype
 
While I am waiting ducks for either Jolla to release some I2C documentation ór some I2C software expert from tmo, I've been looking into this:

Quote:

Originally Posted by kimmoli (Post 1396890)
Noticed few things, 3.3V is swithed off when the OH switch is released, and when putting cover back on, toh-core (or maybe 'tohd' - the other half daemon?) is looking for at24 eeprom from i2c-1 bus (addresses 0x50 through 0x57.

So, I've bought some EEPROMS to tinker with. Would be nice to make the OH plug-and-play!

xkkkx 2013-12-30 19:47

Re: Building OtherHalf keyboard prototype
 
now this is something I really wish to be realized, so I am with you! (with 20€ to begin with...)

wolke 2013-12-30 20:08

Re: Building OtherHalf keyboard prototype
 
yaaaaay so much cool progress in the last few days, have a cigar (or 30€)!

Daneel 2013-12-30 20:36

Re: Building OtherHalf keyboard prototype
 
This is amazing work and you guys who donate your hard earned money as well :)
I'll try and donate few euro as well :) (wont be much though, my salary is 350 euro a month)

kimmoli 2014-01-01 17:43

Re: Building OtherHalf keyboard prototype
 
I did slip to another project, but good that the i2c probe did find your chip.

Altough offtopic;
I just got one OLED display connected to the phone

EDIT: MOVED to own thread: http://talk.maemo.org/showthread.php?t=92239

Mikkosssss 2014-01-01 18:27

Re: Building OtherHalf keyboard prototype
 
Low power screen is back?

dirkvl 2014-01-01 19:14

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by kimmoli (Post 1402808)
I did slip to another project, but good that the i2c probe did find your chip.

Altough offtopic;
I just got one OLED display connected to the phone

Got also green at 0x3C:
https://lh4.googleusercontent.com/-T...0101171553.png

Modified my app a little
https://lh6.googleusercontent.com/-v...0101191722.png

and sent some text on the display
https://lh4.googleusercontent.com/-J...o/14010002.jpg

Good work! Perhaps good to put it in a separate thread with instructions?

kimmoli 2014-01-01 19:38

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by dirkvl (Post 1402830)
Good work! Perhaps good to put it in a separate thread with instructions?

I will do that ----> http://talk.maemo.org/showthread.php?t=92239

dirkvl 2014-01-04 12:31

Re: Building OtherHalf keyboard prototype
 
still searching for someone to help on the software side!

Quote:

Originally Posted by kimmoli (Post 1402838)
Interface uses ioctl to talk over i2c
Code:

file=open( "/dev/i2c-1", O_RDWR )
ioctl( file, I2C_SLAVE, 0x3c)
write(file, buf, len)


Kimmo, can these commands or your program be modified to read out my chip?

The TCA8424 documentation says:

http://oi40.tinypic.com/9gy64l.jpg

kimmoli 2014-01-04 13:03

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by dirkvl (Post 1403687)
Kimmoli, can these commands or your program be modified to read out my chip?

I can tweak something to view contents of input report... (for starters)

I made some googling about this, and found your good questions in various forums :)

dirkvl 2014-01-04 13:06

Re: Building OtherHalf keyboard prototype
 
Yes I have been asking around. I just don't get that when the phone was announced everyone was shouting "qwerty slider!!" and when there almost is a working prototype it becomes very silent :p

dirkvl 2014-01-04 13:30

Re: Building OtherHalf keyboard prototype
 
Quote:

Originally Posted by kimmoli (Post 1403696)
I can tweak something to view contents of input report... (for starters)

That would be awesome! The chip is still on 0x3B.

If I've read it correctly, on a keypress this should happen:

-key press
-key release
-the chip stores the most recent key press
-this is stored on input report
-the chip sends out an interrupt signal
-phone notices interrupt
-the phone uses get_report to read the input report
-phone read input report
-the interrupt signal is killed and input report is cleared by resetting the chip
-start over

Dave999 2014-01-04 13:48

Re: Building OtherHalf keyboard prototype
 
Donated. would be possible to get jolla involved in this?


All times are GMT. The time now is 10:49.

vBulletin® Version 3.8.8