Omnimaga

Calculator Community => Other Calculators => Topic started by: critor on December 17, 2010, 10:44:05 pm

Title: Turn on the light on the Nspire
Post by: critor on December 17, 2010, 10:44:05 pm
Hi!


I'd like to make a Ndless program able to control the LED present on the following models:
* TI-Nspire ClickPad
* TI-Nspire TouchPad
* TI-Nspire CAS TouchPad
(the TI-Nspire CAS ClickPad doesn't have that LED but has the circuit -> you might make a hole and solder it)

There are many uses for that LED.
It could be used in games as a won/lost or hit/missed indicator.
You might use it to indicate your mood of the day: red for "mad: don't speak to me today", yellow for "I'm in love", for example...
We might use it to communicate short answers: yes/no, little number...
We could also use it to communicate fully by using some king of Morse code.


The LED is documented on HackSpire and it looks quite easy:

Quote
90110000 - LED

    * 90110B00 (R/W): Control register
          o Bit 0: Set this bit to enable green light blink data. If green blink data iteration is not on, the green light state is read from bit 0 of green blink data.
          o Bit 1: Set this bit and bit 6 to enable green blink data iteration.
          o Bit 2: Set this bit to force green light off. Overrides bit 4.
          o Bit 3: Set this bit to force red light off. Overrides bits 5 and 13.
          o Bit 4: Set this bit to force green light on.
          o Bit 5: Set this bit to force red light on.
          o Bit 6: See this bit and bit 1 to enable green blink data iteration. Reset before modifying green blink data or delay.
          o Bit 9: Set this bit to enable red light blink data. If red blink data iteration is not on, the red light state is read from bit 0 of red blink data.
          o Bit 10: Set this bit and bit 12 to enable red blink data iteration.
          o Bit 12: Set this bit and bit 10 to enable red blink data iteration. Reset before modifying red blink data or delay.
          o Bit 13: Forces red light on if bit 4 is 0, or red light off if bit 4 is 1. (?)
    * 90110B04 (R/W): Green blink data. 32 bits of on and off state, represented by 1 and 0. Iteration is done from bit 31 to bit 0 repeatedly.
    * 90110B08 (R/W): Green blink delay (negative). OS sets this to -2048.
    * 90110B0C (R/W): Red blink data. 32 bits of on and off state, represented by 1 and 0. Iteration is done from bit 31 to bit 0 repeatedly.
    * 90110B10 (R/W): Red blink delay (negative). OS sets this to -2048.

Note: If red and green lights are on at the same time, the color becomes yellow.


I've made a simple program.

Code: [Select]
#include <os.h>
#include "console.h"
#include "screen.h"
#include "charmap.h"
#define LED_MODE_ADDR 0x90110B00

int getMem(int addr)
{ return *(volatile unsigned*) addr;
}

void setMem(int addr, int val)
{ *(volatile unsigned*) addr = val;
}

int main(int argc, char* argv[])
{ int mode_orig = getMem(LED_MODE_ADDR);
int mode_base = mode_orig&~0b01011001111111; //turn OFF + disable blink / iteration / force on-off
clrScr();
int mode_curr=mode_base;
int mode_last=mode_orig;
while(!isKeyPressed(KEY_NSPIRE_ESC))
{ mode_curr=mode_base;
if(isKeyPressed(KEY_NSPIRE_R) || isKeyPressed(KEY_NSPIRE_J) || isKeyPressed(KEY_NSPIRE_Y))
mode_curr |= 0b100000; // force RED on
if(isKeyPressed(KEY_NSPIRE_V) || isKeyPressed(KEY_NSPIRE_G) || isKeyPressed(KEY_NSPIRE_J) || isKeyPressed(KEY_NSPIRE_Y))
mode_curr |= 0b010000; // force GREEN on
if(mode_curr!=mode_last)
{ setMem(LED_MODE_ADDR,mode_curr);
mode_last = mode_curr;

disp("Written LED mode: ",0);
dispi(mode_curr,0);
displn("",0);

disp("Current LED mode: ",0);
dispi(getMem(LED_MODE_ADDR),0);
displn("",0);
}
}
setMem(LED_MODE_ADDR,mode_orig); // reset
return 0;
}

You need to press some keys to turn on the red or green colors.


And I'm getting very strange behaviours.

I've tested on 3 TI-Nspire ClickPad and 1 Ti-Nspire TouchPad.
On 2 of them, it worked the 1st time, but that's all... It never worked again!!! ::)
On the 2 others, it never worked.

The LED just remains off...

Strangely, I've experienced many reboots, either when entering the program, either after exiting the program...
Very strange as I don't use any other pointer than the 0x90110B00 address. And it did reboot before I added the debug display.


Here's a sample log of the debug informations displayed on the screen (when it doesn't reboot):

Quote
Written LED mode: 0 // 1st loop
Current LED mode: 5699
Written LED mode: 32 // press 'R' key
Current LED mode: 5699
Written LED mode: 0 // release 'R' key
Current LED mode: 5699

You see?
I'm checking the LED mode just after writing it.
And it's allways 5699!
My values aren't written, or are modified immediatly...

How is this possible? I thought interrupts were disabled while running a Ndless program...


The fact that it worked 2 times (with dozens of tries) this evening, proves that this address is read/write, as stated on HackSpire.

But there seems to be some kind of checking/protection, whose reliability is strong, but not 100%.


Can you help me?
Do you have any idea what is going on?
Do you see some stupid things in my code?

Thanks.


Please find attached the last binary.

If you want to modify & recompile, you just have to get "screen.*", "console.*" and "charmap.h" files in the mViewer archive, and use them with the code above.
http://ti.bank.free.fr/index.php?mod=archives&ac=voir&id=2014


Title: Re: Turn on the light on the Nspire
Post by: Jonius7 on December 17, 2010, 10:49:35 pm
ooh i didn't know ti-nspire had an led!
i dunno ill try and redigest your post again.
Title: Re: Turn on the light on the Nspire
Post by: apcalc on December 17, 2010, 10:54:00 pm
I remember I had trouble with the LED light when I added it to Block Dude

Interestingly, I have never been able to get the LED to light in an Ndless 1.7 program, although it always works perfectly with Ndless 1.1 stuff.

For setting it, I used this routine (by calc84, I think):
Code: [Select]
set_led(int color) {
*(volatile unsigned*) 0x90110B00=color<<4;
}

As for the crashing, I found that when I used the nspire-ld flag "-nostdlib," the program crashed on me every so often (like what happened to you, it would work sometimes, but crash others).  When I removed the flag, everything worked fine.  I am not sure if this is what was causing the problem, but it fixed it for me! :)
Title: Re: Turn on the light on the Nspire
Post by: calc84maniac on December 17, 2010, 10:59:19 pm
There is some different setting in OS 1.7 which prevents writes to this area of memory. I'm not sure what controls it. I know TI has done the same thing for stuff like the Timer 1 ports, which could be enabled by changing a bit in one of the memory-mapped ports. The LED ports are likely to have some similar write-disable bit.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 17, 2010, 11:04:16 pm
I might be completly wrong, but I think that the calculator reboots beacause something related to PTT is triggered. (the calculator reboots both when entering and exiting PTT)

But my calculators aren't in PTT mode.
But maybe the reboots did activated some "lock led state" code related to PTT, without entering PTT... Would mean I would be in some king of "incomplete" PTT.

But I cannot reset that "special" mode without exiting PTT.. And I cannot exit PTT because I'm not in PTT... So, let's put the calculator in PTT!
(don't do it, unless you have a second TI-Nspire to unlock it)

I've taken 2 TI-Nspire ClickPad.
I've put them in PTT mode, and then I've exited that mode.
(thinking it could reset the "lock led" or whatever it is)

On one calculator:
* Immediate reboot when starting program.
* After that, same behavior as described above: memory content is not changed.

On the other calculator:
* It works! I press 'G', 'R', 'Y' keys, and the LED is turned on in green, red or yellow.
* I even managed to launch the program severall times.


It seems to confirme my hypothesis.
Now the question is: "how could I prevent rebooting while reading/writing the LED mode?"...
Title: Re: Turn on the light on the Nspire
Post by: DJ Omnimaga on December 18, 2010, 12:33:20 am
It would be nice to be able to manipulate the LED like this. In a RPG it could be used when you're in an area with random encounters and when you're about to run into an enemy, the light turns red.
Title: Re: Turn on the light on the Nspire
Post by: shrear on December 18, 2010, 07:10:06 am

(don't do it, unless you have a second TI-Nspire to unlock it)


You actually don't need an other Nspire to exit PPT, you can also unlock it with a PC.
If you send a file with the name "Exit Test Mode.tns" in the "Press-to-test" directory of your calc, he reboots like if you did it the ~normal~ way.

I'm curious what would happen if you run your program during PPT (if Ndless works in PPT), I would test it myself but I have a touchpad cas... so no Ndless.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 18, 2010, 07:30:15 am
I'm curious what would happen if you run your program during PPT (if Ndless works in PPT), I would test it myself but I have a touchpad cas... so no Ndless.

I think you cannot run Ndless while in PTT, because you cannot access the /phoenix/documents folder.

But if we find a way, yes it would be very interesting.

Here's a video showing the program working (when it works, which is quite rare for now):
Title: Re: Turn on the light on the Nspire
Post by: DJ Omnimaga on December 18, 2010, 03:07:19 pm
Nice Critor! :thumbsup: Good luck trying to get it to work all the time.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 18, 2010, 04:15:51 pm
I'm not even sure I want it to work  all the time.

It seems TI has added some software LED protection between OSes 1.1 and 1.7.
That protection is not 100% reliable (or you wouldn't have got the above video).

If we do hack / reverse enginer that protection, TI might get very mad...
I think I'm going to release the current code without adding any hack.

I won't try to understand more. The problem is not mainly me: TI might attack Ndless & ExtendeD.

So I'm not releasing code which hasn't been documented on HackSpire or used in BlockDude yet.

You know the protection is disabled by entering and exiting PTT mode, and is randomly triggered when launching the program.
If you find a way, you'll just have to add the lines in the code, before the 1st LED port reading/writing.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 18, 2010, 06:43:07 pm
I could be completly wrong, but the DEL locking could have something to do with boot2 1.4 (or with boot2 1.4 + OS 1.7).

The calculator which is working the best currently has boot2 1.1 + OS 1.7.
Itmight be totally unrelated though.

I'll make further tests later.
Currently, i'm developping the encoder(automatic)/decoder(manual).
Title: Re: Turn on the light on the Nspire
Post by: DJ Omnimaga on December 18, 2010, 06:50:46 pm
Ah I see. I take it that they would get mad if someone messed with PTT and got it disabled, as it could get the calcs banned from school?

Anyway good luck with all of this.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 18, 2010, 07:21:49 pm
Ah I see. I take it that they would get mad if someone messed with PTT and got it disabled, as it could get the calcs banned from school?

My program is not able to disable PTT.
It's not intended for that.

It's only intended to turn the DEL on/off.


But TI could get mad:
- if such program was used to fake a PTT mode
- if such program was used to exchanges informations (which is the goal here) during exams


Here is the Norse code:
Quote
no      R
yes      G
e      Y
s      RR
a      RG
i      RY
t      RR
n      GG
r      GY
u      GR
l      YG
o      YY
d      RRR
c      RRG
p      RRY
m      RRR
v      RGG
q      RGY
f      RGR
b      RYG
g      RYY
h      RYR
j      GRG
x      GRY
y      GRR
z      GGG
w      GGY
k      GGR
0      GYG
1      GYY
2      GYR
3      YRG
4      YRY
5      YRR
6      YGG
7      YGY
8      YGR
9      YYG
repeat   YYY

For example, 'Q' is indicated by flashing the DEL successively in Red, Green, Yellow, and then by a pause.

Indicative delays:

- DEL on: 300ms
- DEL off between 2 signals: 100ms
- DEL off between 2 letters: 600ms
(may still be changed)

Speed: 2.5 signals per seconds
Character encoding: 1 to 3 signals

Which mean 1s to 2.2s per character.

I can make this much faster, but I don't think your eyes will be ok with that.


The "HELLO WORLD" string needs 17secs to be sent.
The interface lets you repeat the message before entering a new one, if you think the recipient has missed some part of the message.
You've got a "sending" progress in percents too.
Title: Re: Turn on the light on the Nspire
Post by: DJ Omnimaga on December 18, 2010, 07:36:17 pm
Oh I see now, exchanging info during exams could be pretty bad...
Title: Re: Turn on the light on the Nspire
Post by: critor on December 18, 2010, 08:55:59 pm
I've added a self-test mode in the program, which should let you figure out if the LED is locked or not.
I've finished the encoder.
Just the decoder is missing.

I've made further tests for the DEL with the following 4 calculators:
- 1x basic TI-Nspire ClickPad with Boot2 1.1 and OS 1.7
- 2x basic TI-Nspire ClickPad with Boot2 1.4 and OS 1.7
- 1x basic TI-Nspire TouchPad with Boot2 1.4 and OS 1.7


On the Boot2 1.1 calculator, no problem. The DEL is unlocked & working and the calculator is not rebooting.

On all 3 Boot2 1.4 calculators, if the DEL is unlocked, the program may trigger a reboot. It might happen when entering the program, or even severall minutes after exiting the program.
After this reboot, the DEL is locked. Writes to its memory port are just ignored and the DEL remains off whatever you do. Turning off/on or rebooting doesn't change anything.
The only way to unlock the DEL up to now is to enter and exit PTT mode. Just after the "exit" reboot, the DEL is unlocked.

This has even worked on the TouchPad.


Note I could be totally wrong, because I've only tested on 4 calculators, and only 1 "boot2 1.1" calculator.
I've attached an alpha binary if you want to try and help me.

Choose '4' to trigger my self-test.
If the last line has the "error" word, then your calculator LED is locked.
if not, it should be turned on by pressing G/Y/R keys.

I'd like to know for each calculator:
* which boot2 version you have
* what was the LED state on the 1st try: lock or unlocked (or reboot before knowing)
* how often it did reboot for you (if it does reboot)
* if you were able to unlock the led (if necessary) by entering and exiting PTT


Have fun turning your LED on/off and sending light-messages with your TI-Nspire.
(remembers me of my HP-48GX which had an I/R port to exchange data... but it was much faster! :p )


It would be interesting to make further test with boot2 1.4 calculators:
* checking if removing and reinstalling OS 1.7 does unlock the DEL
* checking if formatting the FS does unlock the DEL
* checking if the same "reboots" do happen on previous Ndless supported OSes (1.1, 1.3, 1.4)


Edit: further tests done:

* Basic TI-Nspire touchPad with boot2 1.4:
Triggering a 2nd reboot yourself after exiting PTT whith an unlocked DEL (after running the program, without having run the program, or even without having installed Ndless) does lock the DEL. Seems the DEL is locked by the Boot2 1.4 and/or the OS 1.7 at boot time, except with the "exit PTT" reboot.
Title: Re: Turn on the light on the Nspire
Post by: ztrumpet on December 18, 2010, 09:28:15 pm
Wow, this looks cool.  I wish I had an Nspire to test this on. :)  Great job critor. ;D
Title: Re: Turn on the light on the Nspire
Post by: critor on December 18, 2010, 09:39:29 pm
Thank you ztrumpet.


I've finally rebooted my boot2 1.1 calculator myself.
The DEL was locked.


So let's sum up things:

- After "exit PTT" reboots, the DEL is unlocked and the program is fully working.
- After other reboots with OS 1.7, the DEL is locked and the program won't be able to turn it on.

Finaly, this doesn't seem to have anything to do with the boot2. Although my boot2 1.1 calculator does not reboot after exiting the program.
But the reboots might be totally unrelated to this program... I've had stange reboots while testing mViewer, while installing Ndless, and even when turning back on a Ndlessed calculator.


It would still be interesting to know if some other kind of reboot (reinstalling OS 1.7, reformatting the whole FS) leaves the DEL unlocked.

And it would still be interesting to test if only OS 1.7 is locking the DEL, of it even happens with OS 1.3/1.4 (which can be Ndlessed).
We can assume that OS 1.1 does not lock the DEL.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 20, 2010, 06:11:00 pm
I've made other tests for the "LED-locking" protection.

I've tested:
* a basic TI-Nspire with OS 1.3.2438 + Ndless 1.3
* a basic TI-Nspire with OS 1.4.11653 + Ndless 1.4

OS 1.4 seems to have the "LED-locking" protection.
But... OS 1.3 doesn't seem to have it.

So with OS 1.3.2438 (there is another one, 1.3.2407, which is not supposed to be compatible with Ndless 1.3), you just run my program and it should work on the 1st try! ;D(http://www.omnimaga.org/Themes/default/images/gpbp_arrow_up.gif)


So we may assume:
* non-CAS OSes 1.1-1.3.2438: no "LED-locking" protection
* non-CAS OSes 1.4.11653 and newer: "LED-locking" protection (but which can be disabled temporary: see previous posts)

I don't know if it's the same thing for CAS OSes.
Nspire CAS ClickPad didn't have a DEL (although they have the circuit). So it's hard to test... That protection might be absent because of that.
Nspire CAS TouchPad do have the DEL. I should downgrade to 1.3/1.4 and test.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 21, 2010, 08:06:52 am
I've made the last tests for the "LED-locking" protection.

I've tested:
* a TI-Nspire CAS with OS 1.3.2406 + Ndless 1.3
* a TI-Nspire CAS with OS 1.4.11643 + Ndless 1.4

OS 1.4.11643 does have the "LED locking" protection.
OS 1.3.2406 doesn't have it.


So let's sum up things for both basic and CAS Nspire:
* OSes 1.1-1.3: no "LED-locking" protection
* OSes 1.4 and newer: "LED-locking" protection (but which can be disabled temporary by entering and exiting PTT - which should be impossible during an exam)

Going to release Norse soon.
Title: Re: Turn on the light on the Nspire
Post by: fb39ca4 on December 21, 2010, 10:25:55 am
Oh I see now, exchanging info during exams could be pretty bad...
Though how many teenagers nowadays know morse code?
Title: Re: Turn on the light on the Nspire
Post by: ExtendeD on December 21, 2010, 10:46:21 am
I think critor's Norse program includes a decoder, you won't need to know morse.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 21, 2010, 11:02:15 am
Yes, there will be a manual decoder.

Anyway it's not Morse. Morse code doesn't have colors.
But it's similar. And because there are colors, less signals are needed per letter.
Title: Re: Turn on the light on the Nspire
Post by: DJ Omnimaga on December 21, 2010, 04:51:25 pm
Nice critor! :thumbsup:
Title: Re: Turn on the light on the Nspire
Post by: shrear on December 23, 2010, 01:03:38 pm
Well I tested it on OS 2.0 and boot2 1.4
but there is not much to say as it acts like you described it for 1.7
the reboot happens around 1 out of 4 times.

Now then, I'm waiting for the full version :)
Title: Re: Turn on the light on the Nspire
Post by: critor on December 26, 2010, 10:07:09 pm
Here's a beta of Norse.
The manual decoder is included.

Should be very close to the final release, which will include the source code and the readme.


Have fun.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 27, 2010, 04:25:51 pm
I'm on the readme files.
Release soon...
Title: Re: Turn on the light on the Nspire
Post by: DJ Omnimaga on December 27, 2010, 04:27:47 pm
Cool :D
Title: Re: Turn on the light on the Nspire
Post by: critor on December 27, 2010, 06:35:00 pm
Test with Ndless 2.0 on OS 2.0.1:
The LED can still be unlocked by entering & exiting PTT.


Here's the english readme.
Going to work on the french readme now.

Feel free to tell me about any problem/error.


Quote
+-----------+
| Norse 1.0 |
+-----------+
by X. Andréani
http://www.ti-bank.fr/911 (link not active yet)


1) Introduction:
   ------------
A program to send and receive messages using the TI-Nspire LED.
Just type your message and it will be encoded into reg/green/yellow light signals.
The recipient just has to type the colors he/she sees and the message is decoded.


2) Hardware required:
   -----------------

* TI-Nspire (blue)
* TI-Nspire TouchPad (black & white)
* TI-Nspire CAS TouchPad (black)

The TI-Nspire CAS (grey) does not have the LED.
The program will run but nothing will be turned on.
Although, the TI-Nspire CAS has the LED circuit.
Just the LED is missing: you just have to solder one.


3) OS required:
   -----------

Any OS supported by a Ndless 1.7 compatible kernel.

As of this date:
- 1.3.2438    (non-CAS)   [Ndless 1.3]
- 1.3.2437   (CAS)      [Ndless 1.3]
- 1.4.11653   (non-CAS)   [Ndless 1.4]
- 1.4.11643   (CAS)      [Ndless 1.4]
- 1.7.2741    (CAS & non-CAS)   [Ndless 1.7 & Ndless 2.0]
- 2.0.1.60    (CAS & non-CAS)   [Ndless 2.0]


4) Software required:
   -----------------

Norse has been built for the Ndless 1.7 kernel.
You need Ndless 1.7, or a Ndless 1.7 compatible kernel.

As of this date, you'll need:
- Ndless 1.3 for OSes 1.3.2438  & 1.3.2437
- Ndless 1.4 for OSes 1.4.11653 & 1.4.11643
- Ndless 1.7 for OS   1.7.2741
- Ndless 2.0 for OSes 1.7.2741  & 2.0.1.60 (still in development)


5) Security:
   --------

In TI's Press-to-Test documentation, you can read:
<<The flashing LED is hardware-secure
and cannot be impacted by coded software>>

Seems the 2nd part of this sentence is a lie.
(TI's documentations have never been very
realiable for technical informations)

But the 1st part is partially true.
I don't know if it is hardware though, but there is
some kind of security on OSes 1.4 and newer.

On OSes 1.4 and newer, the LED is locked:
the writing to its memory I/O port is ignored.
So whatever you do with the program,
the LED state will remained unchanged.

On OSes 1.1 & 1.3, the LED is unlocked.
The program should work on the 1st try without any problem.
I assume the LED is unlocked in all OSes 1.1-1.3.


6) LED unlocking for OSes 1.4 and newer:
   ------------------------------------

On OSes 1.4 and newer it is possible to temporarily unlock the LED.

You just have to enable and disable Press-to-Test mode.
After disabling Press-to-Test mode,
the LED will be unlocked... untill the next reboot.

To enable PTT:
- turn off your calculator
- hold [Esc] and [Home] while turning the calculator on.
- a dialog box should be triggered: just validate with [Enter]
The calculator is now rebooting in PTT mode.

To disable PTT, you'll need one of the following:
* another TI-Nspire
* a computer
Just connect your calculator and choose the "Exit Press-to-Test"
option in the Tools menu ([Ctrl] [Home] with a ClickPad keypad).
The calculator is now rebooting in standard mode.
And the LED will remain unlocked after the reboot.

Note: This "bug" has only been tested only on OSes 1.4, 1.7 and 2.0.1.
I assume it is working with all OSes 1.4-2.1.
Now that it is public, TI may fix it in the next OS releases.


7) Main menu
   ---------

"Messages editor":
Lets you type a complete message and then send it,
and resend it if necessary.
The sending progress is shown on screen.

"Typewriter":
Each character you're typing is sent immediatly.
Usefull for short answers to yes/no questions or MCQ.

"Messages decoder":
Just type the colors seen on the remote calculator
and the message will appear on screen.

"Codes table"
Display the current encoding/decoding table with
all supported characters.

"Test LED"
Lets you test if the LED is locked.
Lets you test the 3 LED colors: red, green, yellow.


8) Norse code:
   ----------

The current version uses Norse code 1.0.

A character is coded by 1-3 color signals.

For each color signal, the DEL is turned on for 300ms.
Between color signals for the same character, the LED is turned off for 100ms.
Between words, the LED is turned off for 1000ms.

Character   |   Color signals
----------------+--------------------
space      |   aucun
-      |   YGY
.      |   YYR
0      |   GGG
1      |   GGY
2      |   GYR
3      |   GYG
4      |   GYY
5      |   YRR
6      |   YRG
7      |   YRY
8      |   YGR
9      |   YGG
A      |   Y
B      |   RGY
C      |   YY
D      |   YG
E      |   R
F      |   RGG
G      |   RYR
H      |   RYG
I      |   RR
J      |   RYY
K      |   GY
L      |   RRG
M      |   RY
N      |   YR
O      |   RRR
P      |   RGR
Q      |   GR
R      |   G
S      |   RG
T      |   GG
U      |   RRY
V      |   GGR
W      |   GRR
X      |   GRG
Y      |   GRY
Z      |   YYG


9) Cheating or not cheating:
   ------------------------

Norse has not been designed to cheat by exchanging informations during exams.
Remember cheating during exams is illegal.

Norse has been designed:

- to prove that it is possible to exchange complex
messages wirelessly with the Nspire LED

- to interest young people with encoding/decoding messages,
which is a very interesting branch of the mathematics

- to prove that TI's documentation is lying

- to prove that TI is very stupid
(the LED they added especially for the exams "could" be used to cheat during those same exams...)

- to help teachers designing new kind of activities for their students:
in typewriter mode, the LED can be used to quickly answer Yes/No questions or MCQs.

Anyway:
* it is very hard to find OSes 1.3 and older online
* the latest TI 2.x OSes are forbidding downgrades to the oldest 1.x OSes
* according to TI, there is no way for you to exit PTT mode during
an exam as you shouldn't be able to connect your calculator to another
calculator or a computer during an exam.


10) Licence:
   -------

GPLv2. Source code is included.
You may modify the source code according to the included
licence, but I'm just asking one more thing:

- If you do change something with the encoder/decoder, please keep
decoding compatibility with messages encoded with this version.
- If you do not keep this compatibility, please do not pretend to
use "Norse" code any more.


11) Known problems/bugs:
    -------------------

* Random reboots while (or after) using the program
when the LED is locked. It may not be a bug in the program...
It might be a Ndless 1.7 bug, or another protection from TI.


12) Release history:
    ---------------

27.12.2010:   1.0 - initial public release


13) Thanks to:
    ---------
The TI-Bank community for their encouragements.    ( http://www.ti-bank.fr )
The Omnimaga community for their encouragements and tests.  ( http://www.omnimaga.org )
ExtendeD for Ndless 1.7/2.0.
Bsl for Ndless 1.3/1.4.


14) Contact:
    -------

Xavier Andréani
[email protected]
Title: Re: Turn on the light on the Nspire
Post by: critor on December 27, 2010, 08:59:51 pm
Norse has just been released.
http://ti.bank.free.fr/index.php?mod=archives&ac=voir&id=2097

French & english readme files are included.
Source code is included too.

Have fun.
Please report any unlisted problem/error.


I'm returning to mViewer development.


Just train yourself decoding this to test, if you don't have a remote Nspire:
(http://i63.servimg.com/u/f63/13/23/13/53/nspire18.gif)
(a little faster than the true hardware, sorry about that... although it's a good training :p )
Title: Re: Turn on the light on the Nspire
Post by: DJ Omnimaga on December 28, 2010, 01:06:20 am
Cool to see it released :D

Title: Re: Turn on the light on the Nspire
Post by: critor on December 28, 2010, 02:34:28 pm
Here's the message decoding for the example above.
(http://i63.servimg.com/u/f63/13/23/13/53/nspire19.gif)

You just need some training for the decoding, in order to be able to type the R/G/Y/space keys while looking at the other calculator and not at your own keypad.
(it's possible: just as you are using a qwerty keybord without having to look at it)


Once this training is done, you can fully chat in Norse and exchange complex messages.


Norse 1.0, the 1st Nspire wireless chatting program:
http://ti.bank.free.fr/index.php?mod=archives&ac=voir&id=2097
Title: Re: Turn on the light on the Nspire
Post by: critor on December 29, 2010, 04:03:48 pm
Norse has been queued on TiCalc.org .

Can you give me any reference about the that would have to be soldered on TI-Nspire CAS ClickPads (white & grey) ?

(http://i63.servimg.com/u/f63/13/23/13/53/leds10.gif)


The LED doesn't have 2 contacts but 3 contacts, as is it something like a double-LED: it can be turned on either in green, either in red.
Turning on both colors is giving a yellow color.
Title: Re: Turn on the light on the Nspire
Post by: DJ Omnimaga on December 30, 2010, 04:11:24 am
Nice. Unfortunately I couldn't decode it since I am not great at that type of stuff (puzzles, riddles, rhythm stuff, etc) x.x.

About your last post it might be a good idea to ask in a separate topic, though (I really need to add a sub-section somewhere for hardware/electronics/robotics), since help/questions tends to get easily missed when posted in project update topics.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 30, 2010, 06:55:42 am
Nice. Unfortunately I couldn't decode it since I am not great at that type of stuff (puzzles, riddles, rhythm stuff, etc) x.x.

You don't have to "think" to decode: just launch Norse, select the decoder in  the menu, and type the colors you see.
Title: Re: Turn on the light on the Nspire
Post by: critor on December 30, 2010, 01:18:10 pm
Just made a big (french) news about Norse and the Nspire LED.
http://ti.bank.free.fr/index.php?mod=news&ac=commentaires&id=911

You may reuse all images and videos if you ever mention Norse in a news.
Title: Re: Turn on the light on the Nspire
Post by: DJ Omnimaga on December 31, 2010, 03:06:53 pm
I might post a news tomorrow or monday if I'm not too busy (also we have about 5-6 pending news articles :P). This could also be useful for games.
Title: Re: Turn on the light on the Nspire
Post by: fb39ca4 on January 01, 2011, 01:14:22 am
Cool! Could you change the keys, however, so that they are 1 2 3 or something like that, so it is easier to type than RGY. (Or even make it respond to both sets)
Title: Re: Turn on the light on the Nspire
Post by: critor on January 01, 2011, 06:41:45 am
Cool! Could you change the keys, however, so that they are 1 2 3 or something like that, so it is easier to type than RGY. (Or even make it respond to both sets)

Yeah, good idea.
Will be easier to type while not looking at the keyboard.
Title: Re: Turn on the light on the Nspire
Post by: floris497 on September 07, 2012, 11:57:09 am
is there a way to let this work on ndless 3.1 on the nspire cx?? the programs nsled and norse wont even open without a message that the file is not supported.
Title: Re: Turn on the light on the Nspire
Post by: ExtendeD on September 08, 2012, 05:31:27 am
Did you make sure to follow the whole Ndless installation procedure? http://ndlessly.wordpress.com/ndless-user-guide/
Title: Re: Turn on the light on the Nspire
Post by: Darl181 on September 08, 2012, 05:35:32 am
I got the same problem when I tried this back in June.  Seeing as it's from before 3.x came out (and the CX calcs at that) I'm guessing it's just not compatible..
Title: Re: Turn on the light on the Nspire
Post by: floris497 on September 08, 2012, 08:11:29 am
Did you make sure to follow the whole Ndless installation procedure? http://ndlessly.wordpress.com/ndless-user-guide/

Yes i did, all the other programs are working fine like the GBC emulator and nClock.
Title: Re: Turn on the light on the Nspire
Post by: critor on September 08, 2012, 11:05:07 am
is there a way to let this work on ndless 3.1 on the nspire cx?? the programs nsled and norse wont even open without a message that the file is not supported.

Norse has never been recompiled with Ndless 3.1, so there is no way the downloaded binary will work on a TI-Nspire CX.