0 Members and 10 Guests are viewing this topic.
I just measured the outputs and inputs of some GPIOs connected to the pins on the bottom port, and it's correct.They're even sensitive for fingertips..The input of the pins 1 and 3 are always high, so there are indeed pullups.But why does the touchpad not get detected? (At least not through i2cdetect)
I just measured the outputs and inputs of some GPIOs connected to the pins on the bottom port, and it's correct.They're even sensitive for fingertips..
Yeah cool.We could make a lie detector...
QuoteYeah cool.We could make a lie detector...No, a built-in cheat detector during exams :-P
(Find out which and what value if you want to access the LED :-P).
X is a bit too large to use as initrd.http://dl.dropbox.com/u/105478372/zImage.tnshttp://dl.dropbox.com/u/105478372/rootfs.tar.bz2I posted these URLs somewhere in this thread, but I'm too lazy to search.
kernel linux/zImage.tnsinitrd linux/rootfs.ext2.tnscmdline debug root=/dev/ram console=ttyAMA0,115200n8
I tried to lauch therootfs.ext2 this way :
But the calculator crashed.
So I have to put the tar.bz2 on an usb stick (unzipped by the way ?)
and then to connect it on the TI-Nspire CX CAS, with this kind of adaptator, don't I ?
But do I need to have a special kind of usb stick ?
And then, what have I to launch ?
why help command doesn't exist
and why commands like "ls", "cd" don't have any effect ?
These questions should probably be posted in the Nspire Linux questions topic
#define NSPIRE_TOUCHPAD_BASE 0x90050000static void nspire_touchpad_write(uint32_t value, uint32_t addr, struct nspire_touchpad *touchpad){ *((uint32_t*)(addr + NSPIRE_TOUCHPAD_BASE)) = value;}static uint8_t nspire_touchpad_read(uint32_t addr, struct nspire_touchpad *touchpad){ return *((uint32_t*)(addr + NSPIRE_TOUCHPAD_BASE));}/* Reset */nspire_touchpad_write(0, 0x38, touchpad);/* Set port to 0xFF */nspire_touchpad_write(0xFF, 0x10, touchpad);/* Set page to 0x04 */nspire_touchpad_write(0x04, 0x10, touchpad);/* Reset */nspire_touchpad_write(0, 0x38, touchpad);/* Set port to 0xFF */nspire_touchpad_write(0xFF, 0x10, touchpad);/* Increase 'reading' */nspire_touchpad_write(0x100, 0x10, touchpad);/* Read current page */read[0] = nspire_touchpad_read(0x10, touchpad);
/* 90050000 */int touchpad_cx_state;int touchpad_cx_reading;u8 touchpad_cx_port;u32 touchpad_cx_read(u32 addr) { switch (addr & 0xFFFF) { case 0x0010: if (!touchpad_cx_reading) break; touchpad_cx_reading--; return touchpad_read(touchpad_cx_port++); case 0x0070: return touchpad_cx_reading ? 12 : 4; default: return 0; } return bad_read_word(addr);}void touchpad_cx_write(u32 addr, u32 value) { switch (addr & 0xFFFF) { case 0x0010: if (touchpad_cx_state == 0) { touchpad_cx_port = value; touchpad_cx_state = 1; } else { if (value & 0x100) { touchpad_cx_reading++; } else { touchpad_write(touchpad_cx_port++, value); } } return; case 0x0038: touchpad_cx_state = 0; touchpad_cx_reading = 0; return; } //bad_write_word(addr, value);}
As the Touchpad is a resistive one, it should recognize more than one contact with finders...
Is that possible under linux where not the standart driver from the OS is used?
Wrong Only capacitive and optical touchsensitive interfaces are capable of recognizing more than one position.
QuoteIs that possible under linux where not the standart driver from the OS is used?Nope, only position, velocity and proximity can be read.http://hackspire.unsads.com/wiki/index.php/Keypads#Touchpad_I.C2.B2C