Okay, so after spending the morning compiling and recompiling different firmwares for the spark and core, I finally added some debug lines into the bridgeconfig program for the calculator.

Here's my current code:


Code:

:DCS6
"18000C0006048608CE107E203F40038005C00EE017702E385C1CB80EF0076002
1→θ
det(20,"217884AF7723365B23772377EFF142D813133EFF121312131213121312C9
θ→R
Lbl AA
real(0
sum(10
sum(9
sum(7,2,8,8,"20F0F8F020","Connecting...
sum(7,5,32
sum(7,6,1,1,78,0,"Fetching configuration from bridge...
sum(7,6,1,32,78,0,"Press [CLEAR] to cancel
sum(11
sum(19,1
If Ans:Then
sum(7,6,1,20,78,0,"Cn2Ctrl Worked
End
If not(Ans):Then
sum(7,6,1,20,78,0,"Cn2Ctrl Failed
End
sum(11
R→θ
sum(17,"C
If Ans:Then
sum(7,6,1,30,78,0,"Cn2Send Worked
End
If not(Ans):Then
sum(7,6,1,30,78,0,"Cn2Send Failed
End
sum(11
DelVar SDelVar XDelVar K
While S<2 and K≠45
If S:Then
If not(sum(18
2→S:End
If not(S):Then
If not(sum(20,0
1→S:End
getKey→K
End
sum(19,0
If K=45:Goto Q
Str9+"-"→Str9
sum(10
sum(9
sum(7,1,"20F0F8F020","Configure gCn Bridge
sum(7,5,32
sum(7,4,1,1,0,"Set up bridge:
sum(7,21,1,10,91,26,1
sum(7,22,5,7,41,5,255
sum(7,4,6,7,0,"WiFi Settings
sum(7,10,3,14,"Open",0,0
sum(7,10,27,14,"WEP",0,0
sum(7,10,47,14,"WPA",0,0
sum(7,10,67,14,"WPA2",0,0
sum(7,4,3,20,0,"SSID:
sum(7,9,22,20,50,63,""
sum(7,4,3,28,0,"Pass:
sum(7,9,22,28,50,63,""
sum(7,7,76,28,"Set
det(28,"00"+det(18,sub(Str9,1,1→L
det(28,"00"+det(18,sub(Str9,2+L,1→M
sum(7,4,1,38,0,"Lcl Hub:
sum(7,9,30,38,42,63,sub(Str9,2,L
sum(7,7,76,38,"Set
sum(7,4,1,46,0,"Rmt Hub:
sum(7,9,30,46,42,63,sub(Str9,3+L,M
sum(7,7,76,46,"Set
Lbl M
sum(12,48,32,10
Ans→L₁
If not(L₁(4
Then:Lbl Q
sum(19,0
sum(10
ClrHome
Disp "CFG GCN BRIDGE","BY KERM MARTIAN
Return:End
If 9=L₁(4
Then
("1"=sub(Str0,2,1))+2("1"=sub(Str0,4,1))+3("1"=sub(Str0,6,1))+4("1"=sub(Str0,8,1
If Ans:Then
Ans-1→T
1→P:For(X,1,6
inString(Str0,"⁺",P+1→P
If X≥4
P→L₁(X-3
End
{L₁(2)-1-L₁(1),L₁(3)-1-L₁(2
"W"+sub(det(17,det(29,T,1)),2,1)+sub(det(17,det(29,Ans(1),1)),2,1)+sub(Str0,L₁(1)+1,Ans(1))+sub(det(17,det(29,Ans(2),1)),2,1)+sub(Str0,L₁(2)+1,Ans(2→Str0
End:End
If 12=L₁(4
Then
1→P:For(X,1,6
inString(Str0,"⁺",P+1→P
End
"L"+sub(Str0,P+1,inString(Str0,"⁺",P+1)-P-1→Str0
End
If 15=L₁(4
Then
1→P:For(X,1,7
inString(Str0,"⁺",P+1→P
End
"R"+sub(Str0,P+1,length(Str0)-P→Str0
End
If "⁺"=sub(Str0,1,1
Goto M
sum(19,1
R→θ:sum(19,1
sum(17,Str0
getKey
Repeat K=45 or not(sum(20,0
getKey→K
End
sum(19,0
Goto AA


When I run this, it shows that Cn2Send failed, command

Code:
sum(17,<message>
. What could be causing this? It apparently works on a Ti 83+ (I'll see if I cant get my hands on one soon) but not a Ti 84+, even one with DCS7.2 and OS 2.43
Update again!

So, several interesting things to take note of:

* The particle/spark firmware will compile from 0.4.5 to 0.4.7 on the SPARK CORE
* The particle/spark firmware will compile from 0.4.7 to 0.6.0 on the PHOTON PARTICLE

* The bridgeapp HANGS on the Ti 84+BE (DCS7.2) at "Fetching configuration..." (OS 2.55MP + 2.43)
* The bridgeapp WORKS? on the Ti 83+ BE (DCS7.2), but there's no "Connected!" message (OS 1.15)

* The bridgeapp FAILS at sum(17,"C on the Ti 84+BE (DCS7.2) (OS 2.55MP + 2.43)
When you say "The bridgeapp WORKS? on the Ti 83+ BE (DCS7.2), but there's no "Connected!" message (OS 1.15) " does the TI-83+ "work" to the extent that you can use IRC and the like? Have you been able to determine the cause of the hanging bridgeapp or get the TI-84+ working with the bridgeapp without it hanging?
I have not been able to figure out why the hang occurs.

I have received an older model Ti 84+ with an older boot code and non MP os, so I'll try that in the coming days and tell you guys how it goes.
Howdy again!

It may not be ALL of gCn, but CALCnet Chat is now working again!
Here's some pics:




Here's the rundown:

1. I edited the source file to NOT define avr328, which is the aruduino chip. Please correct me if I need that.
2. I used a Spark Core, not the Photon (at least in this test).
3. I built using target firmware 0.6.2, which happens to be the latest one.
4. I did NOT use bridgeconfig. I think I completely misunderstood what bridgeconfig does.
5. I just ran CALCnet Chat and, it worked!

Thanks KermPhD, for rebooting the magic smoke in the background!

I will test again using the Photon Particle and tell you how it goes. After that, I'll work towards getting Gossamer and Sandpaper working again!

Also, the weather is warming up. Is that ferric chloride I smell in the air...?

****EDIT****
After flashing the Photon Particle, I found that yes, the Particle does work as a drop in replacement for the Spark Core (at least in this demo)!

This boosts my confidence greatly in knowing that a wifi shield is now within grasp.

****UPDATE****
Hello again! I just wanted to let you guys know that Gossamer is working(?)!
Because of the inconsistencies of the bridge setup program, I can only make changes on the firmware side.
I changed IRCHub to WebHub, and the main menu shows up!



I tried going on different sites:



However, it seems that the sites load at about 750 pages a "cycle", and the time between the cycles keeps increasing. So it takes about 15 minutes to get the first bar filled.
Then there's a second bar that fills. I didn't get past that one yet, and it was going on 20 minutes.

So far Sandpaper isn't working. More updates to come.



****UPDATE****
Well Gossamer is now working!
I did it by:
1. Reenabling avr328
2. Building for firmware 0.4.1. I'd go lower but apparently the spark core can't go that low anymore. Maybe the photon will yield better results?

Here's TiCalc.org:



I'll try working at the bridge program, and maybe using a photon.

More updates to come!
Sorry for the double post, but the previous post would be getting too big.
Here's the transparency ready for etching! I don't have a power board yet, but that will be next.

I have successfully internalized the Particle Photon into a Ti-84!
Looking from the outside there is a switch which turns on the photon and a button which can change the mode of the photon to either listening mode (for new Wifi connections) or safe mode (for flashing new code.)

I soldered pins 5, 6, and ground to the ring, tip, and ground of the I/O port respectively.
I also added this bit of code in the photon's firmware in the void loop() section:

Code:
if (digitalRead(0) == HIGH)
    {
        delay(1000);
        if (digitalRead(0) == HIGH)
        {
            WiFi.listen();
        }
        else
        {
            System.enterSafeMode();
        }
    }

So if you quickly press and release the button it will enter safe mode and if you hold the button it will enter Listening mode.
That's pretty much it! Pictures below. The picture of the innards is before I added the mode button, but it gives you the general idea of where the photon goes. I did remove some of the plastic structure to get it in there but it's pretty much a perfect fit.

Wow botboy! I didn't realize how that actually worked! That's pretty cool!

Here's a pic of the first etching:



I've decided to redo the board layout and add certain features to make this project work:

1. Make these boards Arduino Uno-compatible. I plan on having the arduino stick upside down on top. The idea is to be able to have any number of boards on your calc and still be able to slap an arduino on.

2. The power board. Botboy3000's experiments have proven extremely valuable. It turns out that although AAA batteries can supply alot of current at once, there is alot of limiting circuitry in the calculator (as well as it not being a good idea) that prevents this from happening. Think of how the 84+ can't supply more than 100mA to its USB port without modding. I haven't decided on the battery for the power board, but considering these are low-power devices, I shouldn't have too much trouble.

3. On/Off switches on each board. As well as preventing needless power loss, this will help greatly to reduce crosstalk with many wireless shields (think bluetooth and the wifi shield jamming eachother). I'll work on shielding as needed.

4. Cases/attachment. I do need help in this department. How does the Orion attach to the Ti 84+? Do I need a single "connection shield" that plugs into the calc and then stick shields on that one? Any help here is very much appreciated.
I have added 3 status led's on the side of my calc. I found that in the gCn firmware for the photon there are led things all over the place so I thought it would be a good idea to try it.

Here's what I have observed:

+ When connected to IRCHub, my red led flashes intermittently (about 0.5 Hz) and when I open the CHAT program it turns on for about 1 second then turns off and starts flashing again. the first flash after the long turn on and turn off period is usually when it says "*IRC Joined"
+ When connected to WebHub the red led does nothing until I run Gossamer the first time upon powering up the photon. It does a similar long on and off period but then returns to doing nothing. It makes me think the photon isn't getting into a state where it's trying to talk to anything be it the calc or the WebHub server.
+ The second time and any subsequent time running Gossamer the led does nothing at all. I have to reset the photon to get it to do anything again.

As for the green and blue leds, they never do anything. I think this may be because a lot of the led status things are only active when you define usbhid. Maybe Kerm can shed some light on this and why maybe the firmware gets stuck doing nothing with WebHub, because he did in fact write this firmware. Anyway, just thought i'd throw this out there!

Here's the new board design:



This may be my last single layer board design. I want to move onto two layer boards and toner transfer printing, because photoresist is so variable and dependent on your exposure.
I am incredibly excited to do this project, once i get the Photon that TPC sent to me!!! I might internalize mine like Botboy did (if i can get it to work right)
After using the debug notes in the photon firmware and a serial monitor (Thanks theprogrammingcube, Ivoah, and Mateo) I found that when starting Gossamer on my calc there comes the line:
"Failed to receive checksum ack: -99"
Sorry for the double post but I think it's worth it.

After doing some serial monitoring, I have some consistent patterns

WebHub firmware:

Nothing shows up in the serial monitor until I run Gossamer
When I run Gossamer:

Code:
Receiving frame from Cn2
Detected new calculator    <-- this only shows up the first time
Have valid frame for gCn, length 58
Have frame to send to gcn, type f length 58
37 0 66 FF 89 AA AA AA AA AA A 37 FB 6C 75 28 0 2E 68 74 74 70 3A 2F 2F 77 77 77 2E 63 65 6D 65 74 65 63 68 2E 6E 65 74 2F 67 63 6E 2F 70 6F 72 74 61 6C 2E 68 74 6D 6C 2A ;;;


IRCHub firmware:
Before I even run anything on the calculator I am getting this in the monitor every 5 seconds:

Code:
Receiving frame from gCn...
Have valid frame to send to Cn2, type b
Sending cn2.2 frame to 00000 from AAAAAAAAAA length 9

and when I run the CHAT program:

Code:
Receiving frame from Cn2
Detected new calculator   <-- only shows up the first time
Receiving frame from Cn2
f
 Receiving frame from Cn2
f
 Receiving frame from Cn2
Have valid frame for gCn, length 27
Have frame to send to gcn, type b length 27
18 0 62 FF 89 0 0 0 0 0 A 37 FB 6C 75 9 0 AB 42 6F 74 62 6F 79 38 34 2A ;;;

it then starts giving this:

Code:
Receiving frame from gCn...
Have valid frame to send to Cn2, type b
Sending cn2.2 frame to 00000 from AAAAAAAAAA length 9
Receiving frame from Cn2
Have valid frame for gCn, length 27
Have frame to send to gcn, type b length 27
18 0 62 FF 89 0 0 0 0 0 A 37 FB 6C 75 9 0 AB 42 6F 74 62 6F 79 38 34 2A ;;;


So what does it all mean?
Well something that I observed is that in the WebHub firmware there is never anything that says "Sending" unlike the IRCHub firmware. It seems to be only receiving and having something to send but never sending it. I have yet to have a time where Gossamer works while plugged into the serial monitor, but we know that it does work sometimes and it would be most educational to see what the messages are when it works. I'll see what I can do but that's a shot in the dark. In the meantime maybe Kerm can tell us what all these codes mean on a low level but just thought I'd throw these out there for y'all to chew on. I hope we can solve this mystery soon! Smile
Well it's been a day so I can post again.

I have, by including my own Serial.println determined that WebHub firmware does not run this bit of code and IRCHub does:

Code:
int retries = 0;
            do {
                setRGBLED(ledr, HIGH);
                digitalWrite(ledRed, HIGH);
                i = cn2_send();
                Serial.println("uhhhh, pizza?");  <-- inside joke with friends
                if (i != 0) {
                    setRGBLED(ledr, LOW);
                    digitalWrite(ledRed, LOW);
                    if (i == -99) setRGBLED(ledg, HIGH);
                    delay(100);
                    retries++;
                }
            } while (i != 0 && retries < CN2_MAX_FRAME_RETRIES);

I'm gonna keep posting things here as I find them, hopefully somebody can on a low level post what they mean. That's all for now!
Lol, i wish i could help Smile
I am just anxiously awaiting the arrival of my photon so i can join you guys on gCn Very Happy
This means one of two things:
(1) The packets from WebHub aren't making their way to the Photon.
(2) The Photon doesn't understand the packets from WebHub that are meant for the calculator.
Can you please uncomment //#define sparkdebug, recompile and send, and dump the log from when you try to run Gossamer? I really think the Photon is the issue here.
I set up the Direct USB gCn client on my home computer

It worked great with IRCHub, this is what showed up in cmd when I ran gcnclient -n IRCHub -l USB3000 -d d -c COM1:

Code:
Calculator successfully reconnected.
Received message of length 27 from server.
Sent broadcast message of length 9 to server
Wrote 27 bytes to socket (broadcast msg)

That showed up a bunch until I ran CHAT on calc which gave me:

Code:
Received message of length 68 from server.
Sent broadcast message of length 9 to server
Wrote 27 bytes to socket (broadcast msg)
Received message of length 27 from server.
Sent frame of length 15 to server
Wrote 33 bytes to socket (broadcast msg)
Received message of length 48 from server.
Received message of length 27 from server.
Received message of length 82 from server.
Sent frame of length 16 to server
Wrote 34 bytes to socket (broadcast msg)

It then started giving me the first sequence of messages again

Now for when I ran gcnclient -n WebHub -l USB3000 -d d -c COM1 in the cmd:

Nothing happens until I run Gossamer on calc which then gave me:

Code:
Wrote 18 bytes to socket (join msg)
Sent frame of length 40 to server
Wrote 58 bytes to socket (frame msg)

That's it! Never said anything about receiving data from the server, only sending to it. This is with Direct USB, no photon and I have achieved the same result as with the photon.
I GOT MY PHOTON!!!!!!!!!!!!!!
I will try and connect today Smile
Hi, so I am just getting into the world of the TI calculators, and I have a little bit of technology knowledge, but not lots. I am confused by this fourm. I was wondering if @theprogrammingcube (or anyone really) could send me a list of parts and firmwares so that I could possibly try running this. SO far I've gathered that you need:
1. A TI Calc
2. A Particle Proton
3. A USB cord to connect arduino to calc???
4. Doors CS/ DCSE, ect.

Is there any setup on the computer? Could you please run through a list of the custom softwares and perhaps send me some? I know I sound helpless (sorry) but I am just trying to replicate this project with no arduino experience. I'm basically asking for a build guide of what theprogrammingcube did...

Thanks
Very Happy Cool Exclamation
1. A TI-83+ or TI 84+ or TI 84+SE (anything that can run Doors CS7)
2. A particle photon flashed with the gCn firmware (which is on github somewhere... I'm not sure where, but Kerm knows)
3. A 2.5mm Aux cable that you are willing to cut in half
4. A micro USB cable to power the photon with (or a battery that you can hook up to the VIn pin on the photon)
5. Lots of patience. Currently only IRCHub works on gCn. WebHub works about an hour per week and so does FTPHub. These problems we have concluded are with the server so only Kerm can fix them but he is a very busy man, so it's not the top priority on his list.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement