source: projects/bull-anelex-project/trunk/anelex-interface/src/data.c @ 62

Last change on this file since 62 was 62, checked in by sven, 9 years ago

Bull-Anelex-Project, Anelex Interface:

  • Completely new RS232 I/O with ordinary Ring buffer (against FIFO in PC which still sends when CTS is low)
  • Integrated out-of-memory data printing, on button too (strange bug: uC resets when calling ?print X)
  • removed the toolchain.h (almost completely)
  • several improvements

-- sven @ workstation7

File size: 23.1 KB
Line 
1/**
2 * ANELEX PRINTER Interface Microcontroller
3 * Test strings
4 *
5 * These are 64KByte of text strings, stored in
6 * program memory.
7 *
8 * This file is part of the Bull Anelex Project
9 * Copyright (C) 2010, 2011 Sven Köppel, technikum29.de
10 *
11 * This program is free software; you can redistribute
12 * it and/or modify it under the terms of the GNU General
13 * Public License as published by the Free Software
14 * Foundation; either version 3 of the License, or (at
15 * your option) any later version.
16 *
17 * This program is distributed in the hope that it will
18 * be useful, but WITHOUT ANY WARRANTY; without even the
19 * implied warranty of MERCHANTABILITY or FITNESS FOR A
20 * PARTICULAR PURPOSE. See the GNU General Public License
21 * for more details.
22 *
23 * You should have received a copy of the GNU General
24 * Public License along with this program; if not, see
25 * <http://www.gnu.org/licenses/>.
26 *
27 **/
28
29#include "data.h"
30
31//#include <avr/pgmspace.h>
32#include "data.h"
33
34char string_helloworld[] PROGMEM = "HELLO WORLD";
35
36char string_simple[] PROGMEM =
37        "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ\n"
38        "BCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZA\n"
39        "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n"
40        "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890\n";
41
42char string_charset[] PROGMEM = 
43        "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n"
44        "abcdefghijklmnopqrstuvwxyz\n"
45        "ZYXWVUTSRQPONMLKJIHGFEDCBA\n"
46        "zxywvutsrqponmlkjihgfedcba\n"
47        "0123456789\n"
48        "9876543210\n"
49        "+-.,()/=?";
50
51char string_pangrams[] PROGMEM = 
52        "The quick brown fox jumps over the lazy dog.\n"
53        "Vogel Quax zwickt Johnys Pferd Bim.\n"
54        "Sylvia wagt quick den Jux bei Pforzheim.\n"
55        "Prall vom Whisky flog Quax den Jet zu Bruch.\n"
56        "Franz jagt im komplett verwahrlosten Taxi quer durch Bayern.\n"
57        "Stanleys Expeditionszug quer durch Afrika wird von jedermann bewundert.\n"
58        "Jackdaws love my big Sphinx of Quartz.\n";
59
60char string_numbers[] PROGMEM = "\
611234567890123456789012345678901234567890123456789012345678901234567890\n\
62123456789012345678901234567890123456789012345678901234567890\n\
6312345678901234567890123456789012345678901234567890\n\
641234567890123456789012345678901234567890\n\
65123456789012345678901234567890\n\
6612345678901234567890\n\
671234567890\n\
68123\n";
69
70// yes, this IS the help message which is printed via RS232 on "?help" command.
71char string_help_message[] PROGMEM =
72"HELP\n"
73"====\n"
74"\n"
75" This is the ANELEX printer interface microcontroller. Any text which is\n"
76" recieved via RS232 will be directly printed out. There is some verbose output\n"
77" (which you can ignore), especially for every bad character (which is not in\n"
78" the charset of the printer).\n"
79"\n"
80" Alternatively, you can push the button on the microcontroller board, which will\n"
81" print some built in tests. Magic Lines starting with an quotation mark (?) are\n"
82" interpreted as commands. These commands are available:\n"
83"\n"
84"    help     Prints out this help message\n"
85"    ping     Just prints something back\n"
86"    print N  Starts the test procedure number N, while N is a number\n"
87"    list     List all available tests\n"
88"    list N   Just output the test string number N on the RS232 terminal\n"
89"\n";
90
91// yes, this is the list of strings message
92char string_list_of_strings[] PROGMEM =
93"ID NAME             CONTENT\n"
94"== ==============   =======================================================\n"
95" 1 helloworld       A simple HELLO WORLD oneliner\n"
96" 2 simple           A-Z, 0-9 tests, 4 lines\n"
97" 3 charset          The full character set from the ANELEX printer, 7 lines\n"
98" 4 pangrams         Pangrams (sentences with each letter), 7 lines\n"
99" 5 numbers          8 lines of numbers\n"
100" 6 shortandlong     very short and long lines of numbers\n"
101" 7 bullhomepagetext An text excerpt from technikum29.de, 19 lines\n"
102" 8 werther          Die Leiden des jungen Werther, excerpt, 26 lines\n"
103" 9 pi               120x100 columns, first digits of pi = 2.31...\n"
104"\n";
105
106char string_bullhomepagetext[] PROGMEM =
107"1963 brachte BULL (General Electric) den GAMMA 10 (G10) auf den Markt, der insbesondere für kommerzielle\n"
108"Anwendungen im Lochkartenverfahren gedacht war. Dies war der unmittelbare Nachfolger der Tabelliermaschine\n"
109"(mit oder ohne Gamma 3). Im Gegensatz zu den Großanlagen benötigte der G10 nur einen ca. 20m² großen Raum, \n"
110"der nicht klimatisiert werden musste. Die Leistungsaufnahme beträgt maximal 2,5 kW.\n"
111"Die Grundausrüstung besteht aus der Zentraleinheit mit Steuerpult, der Lochkartenlese-/Stanzeinheit und\n"
112"dem separaten Trommeldrucker. Der Arbeitsspeicher ist ein Kernspeicher der wahlweise 1kB bis maximal\n"
113"4 kB Kapazität hatte. Für die Programmierung stehen 59 unterschiedliche Grundoperationen zur Verfügung.\n"
114"Die Zykluszeit des Kernspeichers beträgt 7 Mikrosekunden. Der Rechner kann gleichzeitig 300 Karten pro\n"
115"Minute lesen und stanzen. Entsprechend gigantisch ist das Stanzwerk. 5 komplette Lochkarten pro Sekunde\n"
116"zu stanzen ist eine beachtliche Leistung. Der Drucker schafft immerhin 300 Zeilen pro Minute (Zum\n"
117"Vergleich: Der Drucker unserer UNIVAC 9400 Anlage ist mehr als dreimal so schnell).\n"
118"Dieser Rechner zeichnet sich durch einen sehr ästhetischen, hervorragenden Aufbau aus. Nackt, d.h.\n"
119"ohne Verkleidung wirkt er noch schöner als in der ersten Abbildung. Das gesamte Chassis ist in\n"
120"silbermetallic Hochglanzfarbe ausgeführt. Die Anordnungen der einzelnen Elemente sind klar,\n"
121"servicefreundlich und übersichtlich.\n"
122"Mittlerweile funktioniert bereits die gesamte und sehr komplexe Mechanik, die ein wesentlicher Teil \n"
123"dieses Rechners ist. Nachdem wir den beheizten Kernspeicher auf die richtige Temperatur eingeregelt \n"
124"und ein paar defekte Transistoren gewechselt haben, laufen bereits ein Programm zum Doppeln von \n"
125"Lochkarten, sowie die ersten Mathematikprogramme. Das ist für einen so alten Computer wahrlich \n"
126"sensationell.\n";
127
128char string_werther[] PROGMEM = // 120 zeilen ausnutzung, Goethes Werther
129"Eine wunderbare Heiterkeit hat meine ganze Seele eingenommen, gleich den süßen Frühlingsmorgen, die ich mit ganzem\n\
130Herzen genieße. Ich bin allein und freue mich meines Lebens in dieser Gegend, die für solche Seelen geschaffen ist wie\n\
131die meine. Ich bin so glücklich, mein Bester, so ganz in dem Gefühle von ruhigem Dasein versunken, daß meine Kunst\n\
132darunter leidet. Ich könnte jetzt nicht zeichnen, nicht einen Strich, und bin nie ein größerer Maler gewesen als in\n\
133diesen Augenblicken. Wenn das liebe Tal um mich dampft, und die hohe Sonne an der Oberfläche der undurchdringlichen\n\
134Finsternis meines Waldes ruht, und nur einzelne Strahlen sich in das innere Heiligtum stehlen, ich dann im hohen Grase\n\
135am fallenden Bache liege, und näher an der Erde tausend mannigfaltige Gräschen mir merkwürdig werden; wenn ich das\n\
136Wimmeln der kleinen Welt zwischen Halmen, die unzähligen, unergründlichen Gestalten der Würmchen, der Mückchen näher an\n\
137meinem Herzen fühle, und fühle die Gegenwart des Allmächtigen, der uns nach seinem Bilde schuf, das Wehen des\n\
138Alliebenden, der uns in ewiger Wonne schwebend trägt und erhält; mein Freund! Wenn's dann um meine Augen dämmert, und\n\
139die Welt um mich her und der Himmel ganz in meiner Seele ruhn wie die Gestalt einer Geliebten - dann sehne ich mich oft\n\
140und denke : ach könntest du das wieder ausdrücken, könntest du dem Papiere das einhauchen, was so voll, so warm in dir\n\
141lebt, daß es würde der Spiegel deiner Seele, wie deine Seele ist der Spiegel des unendlichen Gottes! - mein Freund -\n\
142aber ich gehe darüber zugrunde, ich erliege unter der Gewalt der Herrlichkeit dieser Erscheinungen. Eine wunderbare\n\
143Heiterkeit hat meine ganze Seele eingenommen, gleich den süßen Frühlingsmorgen, die ich mit ganzem Herzen genieße. Ich\n\
144bin allein und freue mich meines Lebens in dieser Gegend, die für solche Seelen geschaffen ist wie die meine. Ich bin so\n\
145glücklich, mein Bester, so ganz in dem Gefühle von ruhigem Dasein versunken, daß meine Kunst darunter leidet. Ich könnte\n\
146jetzt nicht zeichnen, nicht einen Strich, und bin nie ein größerer Maler gewesen als in diesen Augenblicken. Wenn das\n\
147liebe Tal um mich dampft, und die hohe Sonne an der Oberfläche der undurchdringlichen Finsternis meines Waldes ruht, und\n\
148nur einzelne Strahlen sich in das innere Heiligtum stehlen, ich dann im hohen Grase am fallenden Bache liege, und näher\n\
149an der Erde tausend mannigfaltige Gräschen mir merkwürdig werden; wenn ich das Wimmeln der kleinen Welt zwischen Halmen,\n\
150die unzähligen, unergründlichen Gestalten der Würmchen, der Mückchen näher an meinem Herzen fühle, und fühle die\n\
151Gegenwart des Allmächtigen, der uns nach seinem Bilde schuf, das Wehen des Alliebenden, der uns in ewiger Wonne\n\
152schwebend trägt und erhält; mein Freund! Wenn's dann um meine Augen dämmert, und die Welt um mich her und der Himmel\n\
153ganz in meiner Seele ruhn wie die Gestalt einer Geliebten - dann sehne ich mich oft und denke : ach könntest du das\n\
154wieder ausdrücken, könntest du dem Papiere das einhauchen, was so voll, so warm in dir lebt, daß es würde der Spiegel\n\
155deiner...\n";
156
157char string_shortandlong[] PROGMEM = 
158"short and long lines test. Do we have same speeds?\n\
1590123456789012345678901234567890123456789012345678901234567890123456789\n\
160a\n\
16101234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
162a\nb\nc\n\nd\ne\nf\ng\nh\ni\nj\nl\nm\nn\no\np\n\etc\n\
16301234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
16401234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
16501234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
16601234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
16701234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
168b\nc\n\
16901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
17001234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
17101234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n\
172end of short and long lines test\n";
173
174// 100 lines of 120 columns pi digits
175char string_pi_120x100[] PROGMEM = "\
176PI =\n\
1773.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306\n\
17864709384460955058223172535940812848111745028410270193852110555964462294895493038196442881097566593344612847564823378678\n\
17931652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925\n\
18090360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885\n\
18175272489122793818301194912983367336244065664308602139494639522473719070217986094370277053921717629317675238467481846766\n\
18294051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121\n\
18329021960864034418159813629774771309960518707211349999998372978049951059731732816096318595024459455346908302642522308253\n\
18434468503526193118817101000313783875288658753320838142061717766914730359825349042875546873115956286388235378759375195778\n\
18518577805321712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736\n\
18622599413891249721775283479131515574857242454150695950829533116861727855889075098381754637464939319255060400927701671139\n\
18700984882401285836160356370766010471018194295559619894676783744944825537977472684710404753464620804668425906949129331367\n\
18870289891521047521620569660240580381501935112533824300355876402474964732639141992726042699227967823547816360093417216412\n\
18919924586315030286182974555706749838505494588586926995690927210797509302955321165344987202755960236480665499119881834797\n\
19075356636980742654252786255181841757467289097777279380008164706001614524919217321721477235014144197356854816136115735255\n\
19121334757418494684385233239073941433345477624168625189835694855620992192221842725502542568876717904946016534668049886272\n\
19232791786085784383827967976681454100953883786360950680064225125205117392984896084128488626945604241965285022210661186306\n\
19374427862203919494504712371378696095636437191728746776465757396241389086583264599581339047802759009946576407895126946839\n\
19483525957098258226205224894077267194782684826014769909026401363944374553050682034962524517493996514314298091906592509372\n\
19521696461515709858387410597885959772975498930161753928468138268683868942774155991855925245953959431049972524680845987273\n\
19664469584865383673622262609912460805124388439045124413654976278079771569143599770012961608944169486855584840635342207222\n\
19758284886481584560285060168427394522674676788952521385225499546667278239864565961163548862305774564980355936345681743241\n\
19812515076069479451096596094025228879710893145669136867228748940560101503308617928680920874760917824938589009714909675985\n\
19926136554978189312978482168299894872265880485756401427047755513237964145152374623436454285844479526586782105114135473573\n\
20095231134271661021359695362314429524849371871101457654035902799344037420073105785390621983874478084784896833214457138687\n\
20151943506430218453191048481005370614680674919278191197939952061419663428754440643745123718192179998391015919561814675142\n\
20269123974894090718649423196156794520809514655022523160388193014209376213785595663893778708303906979207734672218256259966\n\
20315014215030680384477345492026054146659252014974428507325186660021324340881907104863317346496514539057962685610055081066\n\
20458796998163574736384052571459102897064140110971206280439039759515677157700420337869936007230558763176359421873125147120\n\
20553292819182618612586732157919841484882916447060957527069572209175671167229109816909152801735067127485832228718352093539\n\
20665725121083579151369882091444210067510334671103141267111369908658516398315019701651511685171437657618351556508849099898\n\
20759982387345528331635507647918535893226185489632132933089857064204675259070915481416549859461637180270981994309924488957\n\
20857128289059232332609729971208443357326548938239119325974636673058360414281388303203824903758985243744170291327656180937\n\
20973444030707469211201913020330380197621101100449293215160842444859637669838952286847831235526582131449576857262433441893\n\
21003968642624341077322697802807318915441101044682325271620105265227211166039666557309254711055785376346682065310989652691\n\
21186205647693125705863566201855810072936065987648611791045334885034611365768675324944166803962657978771855608455296541266\n\
21254085306143444318586769751456614068007002378776591344017127494704205622305389945613140711270004078547332699390814546646\n\
21345880797270826683063432858785698305235808933065757406795457163775254202114955761581400250126228594130216471550979259230\n\
21499079654737612551765675135751782966645477917450112996148903046399471329621073404375189573596145890193897131117904297828\n\
21556475032031986915140287080859904801094121472213179476477726224142548545403321571853061422881375850430633217518297986622\n\
21637172159160771669254748738986654949450114654062843366393790039769265672146385306736096571209180763832716641627488880078\n\
21769256029022847210403172118608204190004229661711963779213375751149595015660496318629472654736425230817703675159067350235\n\
21807283540567040386743513622224771589150495309844489333096340878076932599397805419341447377441842631298608099888687413260\n\
21947215695162396586457302163159819319516735381297416772947867242292465436680098067692823828068996400482435403701416314965\n\
22089794092432378969070697794223625082216889573837986230015937764716512289357860158816175578297352334460428151262720373431\n\
22146531977774160319906655418763979293344195215413418994854447345673831624993419131814809277771038638773431772075456545322\n\
22207770921201905166096280490926360197598828161332316663652861932668633606273567630354477628035045077723554710585954870279\n\
22308143562401451718062464362679456127531813407833033625423278394497538243720583531147711992606381334677687969597030983391\n\
22430771098704085913374641442822772634659470474587847787201927715280731767907707157213444730605700733492436931138350493163\n\
22512840425121925651798069411352801314701304781643788518529092854520116583934196562134914341595625865865570552690496520985\n\
22680338507224264829397285847831630577775606888764462482468579260395352773480304802900587607582510474709164396136267604492\n\
22756274204208320856611906254543372131535958450687724602901618766795240616342522577195429162991930645537799140373404328752\n\
22862888963995879475729174642635745525407909145135711136941091193932519107602082520261879853188770584297259167781314969900\n\
22990192116971737278476847268608490033770242429165130050051683233643503895170298939223345172201381280696501178440874519601\n\
23021228599371623130171144484640903890644954440061986907548516026327505298349187407866808818338510228334508504860825039302\n\
23113321971551843063545500766828294930413776552793975175461395398468339363830474611996653858153842056853386218672523340283\n\
23208711232827892125077126294632295639898989358211674562701021835646220134967151881909730381198004973407239610368540664319\n\
23339509790190699639552453005450580685501956730229219139339185680344903982059551002263535361920419947455385938102343955449\n\
23459778377902374216172711172364343543947822181852862408514006660443325888569867054315470696574745855033232334210730154594\n\
23505165537906866273337995851156257843229882737231989875714159578111963583300594087306812160287649628674460477464915995054\n\
23697374256269010490377819868359381465741268049256487985561453723478673303904688383436346553794986419270563872931748723320\n\
23783760112302991136793862708943879936201629515413371424892830722012690147546684765357616477379467520049075715552781965362\n\
23813239264061601363581559074220202031872776052772190055614842555187925303435139844253223415762336106425063904975008656271\n\
23909535919465897514131034822769306247435363256916078154781811528436679570611086153315044521274739245449454236828860613408\n\
24041486377670096120715124914043027253860764823634143346235189757664521641376796903149501910857598442391986291642193994907\n\
24123623464684411739403265918404437805133389452574239950829659122850855582157250310712570126683024029295252201187267675622\n\
24204154205161841634847565169998116141010029960783869092916030288400269104140792886215078424516709087000699282120660418371\n\
24380653556725253256753286129104248776182582976515795984703562226293486003415872298053498965022629174878820273420922224533\n\
24498562647669149055628425039127577102840279980663658254889264880254566101729670266407655904290994568150652653053718294127\n\
24503369313785178609040708667114965583434347693385781711386455873678123014587687126603489139095620099393610310291616152881\n\
24638437909904231747336394804575931493140529763475748119356709110137751721008031559024853090669203767192203322909433467685\n\
24714221447737939375170344366199104033751117354719185504644902636551281622882446257591633303910722538374218214088350865739\n\
24817715096828874782656995995744906617583441375223970968340800535598491754173818839994469748676265516582765848358845314277\n\
24956879002909517028352971634456212964043523117600665101241200659755851276178583829204197484423608007193045761893234922927\n\
25096501987518721272675079812554709589045563579212210333466974992356302549478024901141952123828153091140790738602515227429\n\
25195818072471625916685451333123948049470791191532673430282441860414263639548000448002670496248201792896476697583183271314\n\
25225170296923488962766844032326092752496035799646925650493681836090032380929345958897069536534940603402166544375589004563\n\
25328822505452556405644824651518754711962184439658253375438856909411303150952617937800297412076651479394259029896959469955\n\
25465761218656196733786236256125216320862869222103274889218654364802296780705765615144632046927906821207388377814233562823\n\
25560896320806822246801224826117718589638140918390367367222088832151375560037279839400415297002878307667094447456013455641\n\
25672543709069793961225714298946715435784687886144458123145935719849225284716050492212424701412147805734551050080190869960\n\
25733027634787081081754501193071412233908663938339529425786905076431006383519834389341596131854347546495569781038293097164\n\
25865143840700707360411237359984345225161050702705623526601276484830840761183013052793205427462865403603674532865105706587\n\
25948822569815793678976697422057505968344086973502014102067235850200724522563265134105592401902742162484391403599895353945\n\
26090944070469120914093870012645600162374288021092764579310657922955249887275846101264836999892256959688159205600101655256\n\
26137567856672279661988578279484885583439751874454551296563443480396642055798293680435220277098429423253302257634180703947\n\
26269941597915945300697521482933665556615678736400536665641654732170439035213295435291694145990416087532018683793702348886\n\
26389479151071637852902345292440773659495630510074210871426134974595615138498713757047101787957310422969066670214498637464\n\
26459528082436944578977233004876476524133907592043401963403911473202338071509522201068256342747164602433544005152126693249\n\
26534196739770415956837535551667302739007497297363549645332888698440611964961627734495182736955882207573551766515898551909\n\
26686665393549481068873206859907540792342402300925900701731960362254756478940647548346647760411463233905651343306844953979\n\
26707090302346046147096169688688501408347040546074295869913829668246818571031887906528703665083243197440477185567893482308\n\
26894310682870272280973624809399627060747264553992539944280811373694338872940630792615959954626246297070625948455690347119\n\
26972996409089418059534393251236235508134949004364278527138315912568989295196427287573946914272534366941532361004537304881\n\
27098551706594121735246258954873016760029886592578662856124966552353382942878542534048308330701653722856355915253478445981\n\
27183134112900199920598135220511733658564078264849427644113763938669248031183644536985891754426473998822846218449008777697\n\
27276312795722672655562596282542765318300134070922334365779160128093179401718598599933849235495640057099558561134980252499\n\
27306698423301735035804408116855265311709957089942732870925848789443646005041089226691783525870785951298344172953519537885\n\
27453457374260859029081765155780390594640873506123226112009373108048548526357228257682034160504846627750450031262008007998\n\
27504925485346941469775164932709504934639382432227188515974054702148289711177792376122578873477188196825462981268685817050\n";
276
277
278// this is an array in normal RAM filled with pointers to program space:
279PGM_P builtin_strings[] = {
280        // 10 ordinary test strings
281        string_helloworld,
282        string_simple,
283        string_charset,
284        string_pangrams,
285        string_numbers,
286        string_shortandlong,
287        string_bullhomepagetext,
288        string_werther,
289        string_pi_120x100,
290
291        // 2 meta like strings (which are not listed in the list of strings)
292        string_help_message,
293        string_list_of_strings,
294};
Note: See TracBrowser for help on using the repository browser.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License