This project will allow for the creation of QR Codes from versions (sizes) 1 through 11 on the monochrome 84+ calcs.
I already have plenty of work done, although it may need some serious optimizations.
This may even allow for decoding with pictures from ArTICam.

Expect code later this week.

resources:
http://www.thonky.com/qr-code-tutorial/
http://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders/Additional_information
Can you make this for the CSE?

I see new functionality in the future...
Sounds interesting! Is this in TI-Basic, asm, Axe...? Is it based off of the demo thing you (was it you?) shared a while ago that just drew the outline of a QR code?
M. I. Wright wrote:
Sounds interesting! Is this in TI-Basic, asm, Axe...? Is it based off of the demo thing you (was it you?) shared a while ago that just drew the outline of a QR code?


If you're referring to this, yeah, that was me, and yes it's based off that.
I'll be posting the code I have so far soon, but I just haven't had enough free time with standardized tests going on.

Edit: Here's some of my stuff:


Code:
Input Str0
length(Str0->L
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:"
seq(inString(Ans,sub(Str0,X,1)),X,1,L
Ans-1->D
Disp Ans
If not(1+min(Ans
Goto B
If 9<max(Ans
Then
Disp Ansseq(1+44(X!=L)remainder(X,2),X,1,L
If remainder(L,2
augment(Ans,{0
seq(Ans(X)+Ans(X+1),X,1,dim(Ans),2->D
Disp Ans
{0,0,1,0->M
L->X
If V<=9:Then:9
Else:11:End
prgmBINLIST
augment(|LM,Ans->M
For(theta,1,dim(|LD)-remainder(L,2
|LD(theta->X
11:prgmBINLIST
augment(|LM,Ans->M:End
If remainder(L,2:Then
|LD(dim(|LD->X
6:prgmBINLIST
augment(|LM,Ans->M
Pause Ans

End:Return
Else
::"WORK IN PROGRESS"::"012345"
End
Disp Ans

Return:Lbl B
::"WORK IN PROGRESS"::"Byte Mode"


pgrmBINLIST:

Code:
Ans->dim(|LY
Fill(0,|LY
While X
int(logBASE(X,2->A
1->|LY(dim(|LY)-Ans
X-2^A->X:End:|LY


When finished, this project will also work as a Romaji to Katakana/Hiragana translator, using a symbol such as (-) or * to separate kana characters. I was going to make it work with Kanji, but then I realized that it probably wouldn't fit on the calculator.
Questions:
How would you put this all in one program?
What does this currently do? Does it actually make the QR Code?
What does prgmBINLIST do exactly? Does it just convert a number X into a list of bits, for example 96 to {1,1,0,0,0,0,0}? If so it can be optimized using one of the routines on the TI-BASIC routines page.
This could be optimized:

Code:
If V<=9:Then:9
Else:11:End

to this:

Code:
11
If V<=9:
9

or probably even better (and smaller Wink ):

Code:
11-2(V<=9
solarsoftware wrote:
Questions: ...
What does this currently do?

Currently, the above code gives the mode indicator, the character count, and the encoded data for the alphanumeric mode. (This step)
As said before, this is the outline stuff, although that needs some work, too.

lirtosiast: Yes. I've simply been pressed for time.

PT_: Thank you!

_ _ _ _ _ _ _ _ _
UPDATE: 24 June 2015

PROGRESS! Very little of it, but not none!
The following is a work-in-progress Romaji-to-Hiragana translator which will be built into the QR Code generator:

Code:
"~ ~a~A~i~I~u~U~e~E~o~O~KA~GA~KI~GI~KU~GU~KE~GE~KO~GO~SA~ZA~SHI~JI~SU~ZU~SE~ZE~SO~ZO~TA~DA~CHI~JI~theta~TSU~ZU~TE~DE~TO~DO~NA~NI~NU~NE~NO~HA~BA~PA~HI~BI~PI~FU~BU~PU~HE~BE~PE~HO~BO~PO~MA~MI~MU~ME~MO~ya~YA~yu~YU~yo~YO~RA~RI~RU~RE~RO~wa~WA~WI~WE~WO~N->Str9
Disp "USE ~ TO","SEPARATE KANA.","USE theta FOR SOKUON","CERTAIN KANA","WORK W/ lwrcase
Input Str0
Str0
If sub(Ans,length(Ans),1)!="~
Ans+"~
If sub(Ans,1,1)!="~
"~"+Ans
Pause seq(inString(Ans,"~",I),I,1,length(Ans
Pause DeltaList(Ans
Ans-not(not(Ans->STR
Pause Ans


So far, it takes a string with negative signs and gives a list with values of where those negatives are. This will be used to determine how long the characters are and, eventually, which character is there.
Words will be written in Romaji with Kana characters separated by ~'s, like this: RO~MA~JI
Plenty of work ahead of me, and not much free time... Sad
  
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 1
» 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