Will you make TI-BASIC programs that use the OS 5.2 tokens (and thus require OS 5.2)?
Yes; I'm not worried about backwards compatibility (but I have comments, discussed in my post below).
 76%  [ 19 ]
No; I'm worried about backwards compatibility (or some other concern, discussed in my post below).
 16%  [ 4 ]
Neither of these is the right one, and I'll tell you why below.
 8%  [ 2 ]
Total Votes : 25

This week, TI released the newest operating system for the TI-84 Plus CE, TI-84 Plus CE-T, and TI-83 Premium CE: OS 5.2. This updates brings major useful updates for TI-BASIC programmer, as well as a few improvements for regular users. We want to discuss some of the most important updates, outside of small bugfixes. First, some commands and tokens:
  • They updated some BASIC commands to interact with the TI-Innovator, released last month. Sending (Send() and receiving (Get() strings is now possible, and deep inside, there is now extensive code to communicate with serial-over-USB devices, including the TI MSP432 Launchpad and the Arduino family of microcontroller boards.
  • eval( - basically the same as expr(, but it stores the answer in a string, which is often necessary by BASIC programmers, who needs this token in a program. Instead of the large and slow LinReg routine, use this token to simple convert a calculation to a string. This was added to make it easier to construct commands to send to the TI-Innovator.
  • toString( - this token is pretty similar to eval(. There is one big difference however: toString( handles the format in which the result was returned. expr( and eval( cannot handle lists as output, while toString( handles lists, matrices and more. This is one of the most-missed tokens in BASIC ever, so it's a good thing TI added it!
  • Wait - pauses the program execution for a specific amount of seconds. Instead of using something like rand(999 or a For-loop, just use this, if you want to have a delay in your program, for example when displaying text, and let the user read it.
  • There are also a variety of new tokens that have numerical values (like the color tokens, eg RED, BLACK, BLUE, etc.) for working with the TI-Innovator, like LEFT (0), CENTER (1), and RIGHT (2).
  • There is a new pieceWise( command in the OS, but it doesn't appear to be useable yet.
There are also various functionality updates:
  • This update is rather useful in combination with an online BASIC program editor, such as SourceCoder. When your program has an error somewhere, you don't need to figure out at which line it is, because the line number of the error is shown inside the status bar! Could be useful for debugging.
  • There is a big focus on sequences. Outside of adding 15 tokens relating to sequences, they added support for u(n)=u(n-1)+u(n-2) for example. It can now take the 2 previous results, instead of only the last one. Because it's possible, let's just display the Fibonacci Sequence, shown below.
  • The calculator has some improvements when hitting [ALPHA]+[one of the top 5 keys]. It adds in blue font how it will look like at the homescreen in Mathprint-mode.
  • TI added some tokens which are all probability-related. invNorm( now can take another argument, LEFT, RIGHT or CENTER, for the area under the curve. It should be a bit easier when using invNorm(
  • A new application is published, called Hub. This small app adds a menu to the program editor, which all the sending/getting commands in it.
  • Many TI apps got an upgrade, so if you use one of them, be sure to download the latest version!
  • The exam mode changed a little bit, program won't be erased, so when going back to normal mode, you will still find it on your calculator.
  • Outside of all the calculator changes, there is also a new version of TI Connect CE, also labeled version 5.2.


We hope you enjoy this update, and highly recommend to change your programs, using the newest BASIC tokens, which are really useful. We particular look forward to testing out the new TI-BASIC programming features with the TI-Innovator. Special thanks to Cemetech moderator PT_ for researching and writing most of this article!

Download
TI-84 Plus CE OS 5.2

I may or may not use these new functions, and if I do, I'll make sure to put in the Readme what os it requires. However, I might use the piecewise function a lot. Does it use the graph screen?
I am glad to see that TI is adding more functionality. Whenever I have used commands that are not backwards compatible, there has been backlash. I might use the new tokens in programs for personal use, but any work that is going to be published will most likely not use the new commands.
I'm excited to see send and receive commands even so I do not use basic. The other thing you mentioned in the same bullet point was serial over usb interface for other boards and arduino - I wonder does it mean that it is possible to send rx and tx to the directly to other devices in uart fashion. What I mean in practical terms is it possible to construct a physical cable with mini usb on one side and 3 pin connection on the other side to send a receive strings between this calculator and casios for example preferably without much electronics in between please?
I'm super happy to see these finally come to life especially after they were hinted at a few months ago, however I'm not too sure how I feel about backwards compatibility, now 84+ CE, 84+ CE-T and 83 Premium CE programs will not necessarily be compatible with the CSE. This feels like the remainder() command all over again, where people end up not using it (even though it is a nice command) to keep backwards compatibility with older models, maybe they are trying to ''forget'' the CSE?
Question: Has these new commands been added to sourcecoder yet?
caleb1997 wrote:
Question: Has these new commands been added to sourcecoder yet?
Thanks to your reminder, these commands have now been added to SourceCoder. Thanks!
This looks all really promising, and I hope to see more programs are coming with the new tokens, despite not being backwards compatible. One note though: LEFT, CENTER and RIGHT doesn't return a value, but a string, "0", "1" or "2" Wink
KermMartian wrote:
caleb1997 wrote:
Question: Has these new commands been added to sourcecoder yet?
Thanks to your reminder, these commands have now been added to SourceCoder. Thanks!


Thank you! Very Happy
Hmm, it seems TI is putting quite a bit of effort in maintaining the life of the CE, compared to the CSE's disappointingly feeble lifespan. (I have a CSE and would rather trade it for a CE.)
Has anybody created proper documentation on the new seq tokens yet? (like SEQ(n) Type)I'm curious to know what they do and how to use them Razz
oldmud0 wrote:
Hmm, it seems TI is putting quite a bit of effort in maintaining the life of the CE, compared to the CSE's disappointingly feeble lifespan. (I have a CSE and would rather trade it for a CE.)
Yes, the overwhelming consensus in the community is that the TI-84 Plus C Silver Edition is not only at its end-of-life as far as TI's support goes, but they're doing their best to forget the fact that it ever existed in the first place.
Quote:
The other thing you mentioned in the same bullet point was serial over usb interface for other boards and arduino - I wonder does it mean that it is possible to send rx and tx to the directly to other devices in uart fashion

That's not how it works: USB is USB, not UART Smile
Lionel Debroux wrote:
Quote:
The other thing you mentioned in the same bullet point was serial over usb interface for other boards and arduino - I wonder does it mean that it is possible to send rx and tx to the directly to other devices in uart fashion

That's not how it works: USB is USB, not UART :)
thanks, i was hoping there wiuld be a way to make ti ce to communicate with casio prizm easily but from this perspective ti ce seems to miss uart support :-(
I noticed the poll talking about backwards compatibility, but here's the thing:

If a token isn't supported by a previous version, it'll show in the program as "?" (Just a question mark).

So essentially, if there was already a way to do the thing a token does, you could pretty easily do a token check to essentially check what version OS, and even the calculator model, that the program is running on:


Code:
If "toString("="?":Then
"does the other thing"
Goto B
Else
"Does the 'latest version' thing"
Goto A
Eightx84 wrote:
If a token isn't supported by a previous version, it'll show in the program as "?" (Just a question mark).
If the program is already on the calculator, yes. However, TI Connect CE and indeed the calculator's own software will prevent a program with unrecognized tokens from being sent to the calculator in the first place.
This won't work. The token is only shown as a question mark but in a string it's still the token so never equal to the token ?. I alsothink the calc would tthrow an error if it enters an unsupported token. I'm not sure though because the token is in a string.
KermMartian wrote:
Eightx84 wrote:
If a token isn't supported by a previous version, it'll show in the program as "?" (Just a question mark).
If the program is already on the calculator, yes. However, TI Connect CE and indeed the calculator's own software will prevent a program with unrecognized tokens from being sent to the calculator in the first place.


I did create a program once that tested tokens and told you what OS and calc you were using.

Now I realize why it didn't work as I planned: Because I only tested it on an 84+ and CSE!

(Now I gotta check my backup to see whether I managed to put CSE Colors into the program)

PT_ wrote:
This won't work. The token is only shown as a question mark but in a string it's still the token so never equal to the token ?. I alsothink the calc would tthrow an error if it enters an unsupported token. I'm not sure though because the token is in a string.


iirc, it should because it's just converted into "?". As I said above, it's time to search the backups for the program
Eightx84 wrote:
PT_ wrote:
This won't work. The token is only shown as a question mark but in a string it's still the token so never equal to the token ?. I alsothink the calc would tthrow an error if it enters an unsupported token. I'm not sure though because the token is in a string.


iirc, it should because it's just converted into "?". As I said above, it's time to search the backups for the program
Although unknown tokens render as "?", I believe that the OS checks their actual values, and the byte value of the tokens will of course not match "?". Smile
Very nice! However there's still no way to directly calculate a string and give the answer back as a string, so you have to do a conjunction like this:

Code:

eval(expr("1+1

Essentially converting a string to an expression, calculating that expression, and converting the answer back to a string.
  
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 1 of 2
» 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