U8g2lib.h 1019 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861
  1. /*
  2. U8g2lib.h
  3. C++ RT-Thread wrapper for the u8g2 struct and c functions for the u8g2 library
  4. Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)
  5. Copyright (c) 2016, olikraus@gmail.com
  6. All rights reserved.
  7. Redistribution and use in source and binary forms, with or without modification,
  8. are permitted provided that the following conditions are met:
  9. * Redistributions of source code must retain the above copyright notice, this list
  10. of conditions and the following disclaimer.
  11. * Redistributions in binary form must reproduce the above copyright notice, this
  12. list of conditions and the following disclaimer in the documentation and/or other
  13. materials provided with the distribution.
  14. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
  15. CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
  16. INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  17. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  18. DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
  19. CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  20. SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  21. NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  22. LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  23. CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  24. STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  25. ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  26. ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27. Note:
  28. U8x8lib.h is included for the declaration of the helper functions in U8x8lib.cpp.
  29. U8g2 class is based on the u8g2 struct from u8g2_port.h, the U8x8 class from U8x8lib.h is not used.
  30. */
  31. #ifndef _U8G2LIB_HH
  32. #define _U8G2LIB_HH
  33. #include <rtthread.h>
  34. #include <u8g2.h>
  35. #include "U8x8lib.h"
  36. #include "u8g2_port.h"
  37. #include "Print.h"
  38. class U8G2: public Print
  39. {
  40. protected:
  41. u8g2_t u8g2;
  42. u8x8_char_cb cpp_next_cb;
  43. public:
  44. u8g2_uint_t tx, ty;
  45. U8G2(void) { cpp_next_cb = u8x8_ascii_next; home(); }
  46. u8x8_t *getU8x8(void) { return u8g2_GetU8x8(&u8g2); }
  47. u8g2_t *getU8g2(void) { return &u8g2; }
  48. void setI2CAddress(uint8_t adr) { u8g2_SetI2CAddress(&u8g2, adr); }
  49. void enableUTF8Print(void) { cpp_next_cb = u8x8_utf8_next; }
  50. void disableUTF8Print(void) { cpp_next_cb = u8x8_ascii_next; }
  51. /* u8x8 interface */
  52. uint8_t getCols(void) { return u8x8_GetCols(u8g2_GetU8x8(&u8g2)); }
  53. uint8_t getRows(void) { return u8x8_GetRows(u8g2_GetU8x8(&u8g2)); }
  54. void drawTile(uint8_t x, uint8_t y, uint8_t cnt, uint8_t *tile_ptr) {
  55. u8x8_DrawTile(u8g2_GetU8x8(&u8g2), x, y, cnt, tile_ptr); }
  56. #ifdef U8X8_WITH_USER_PTR
  57. void *getUserPtr() { return u8g2_GetUserPtr(&u8g2); }
  58. void setUserPtr(void *p) { u8g2_SetUserPtr(&u8g2, p); }
  59. #endif
  60. #ifdef U8X8_USE_PINS
  61. /* set the menu pins before calling begin() or initDisplay() */
  62. void setMenuSelectPin(uint8_t val) {
  63. u8g2_SetMenuSelectPin(&u8g2, val); }
  64. void setMenuPrevPin(uint8_t val) {
  65. u8g2_SetMenuPrevPin(&u8g2, val); }
  66. void setMenuNextPin(uint8_t val) {
  67. u8g2_SetMenuNextPin(&u8g2, val); }
  68. void setMenuUpPin(uint8_t val) {
  69. u8g2_SetMenuUpPin(&u8g2, val); }
  70. void setMenuDownPin(uint8_t val) {
  71. u8g2_SetMenuDownPin(&u8g2, val); }
  72. void setMenuHomePin(uint8_t val) {
  73. u8g2_SetMenuHomePin(&u8g2, val); }
  74. #endif
  75. /* return 0 for no event or U8X8_MSG_GPIO_MENU_SELECT, */
  76. /* U8X8_MSG_GPIO_MENU_NEXT, U8X8_MSG_GPIO_MENU_PREV, */
  77. /* U8X8_MSG_GPIO_MENU_HOME */
  78. uint8_t getMenuEvent(void) { return u8x8_GetMenuEvent(u8g2_GetU8x8(&u8g2)); }
  79. void initDisplay(void) {
  80. u8g2_InitDisplay(&u8g2); }
  81. void clearDisplay(void) {
  82. u8g2_ClearDisplay(&u8g2); }
  83. void setPowerSave(uint8_t is_enable) {
  84. u8g2_SetPowerSave(&u8g2, is_enable); }
  85. void setFlipMode(uint8_t mode) {
  86. u8g2_SetFlipMode(&u8g2, mode); }
  87. void setContrast(uint8_t value) {
  88. u8g2_SetContrast(&u8g2, value); }
  89. void setDisplayRotation(const u8g2_cb_t *u8g2_cb) {
  90. u8g2_SetDisplayRotation(&u8g2, u8g2_cb); }
  91. bool begin(void) {
  92. /* note: call to u8x8_utf8_init is not required here, this is done in the setup procedures before */
  93. initDisplay(); clearDisplay(); setPowerSave(0); return 1;}
  94. void beginSimple(void) {
  95. /* does not clear the display and does not wake up the display */
  96. /* user is responsible for calling clearDisplay() and setPowerSave(0) */
  97. initDisplay(); }
  98. #ifdef U8X8_USE_PINS
  99. /* use U8X8_PIN_NONE if a pin is not required */
  100. bool begin(uint8_t menu_select_pin, uint8_t menu_next_pin, uint8_t menu_prev_pin, uint8_t menu_up_pin = U8X8_PIN_NONE, uint8_t menu_down_pin = U8X8_PIN_NONE, uint8_t menu_home_pin = U8X8_PIN_NONE) {
  101. setMenuSelectPin(menu_select_pin);
  102. setMenuNextPin(menu_next_pin);
  103. setMenuPrevPin(menu_prev_pin);
  104. setMenuUpPin(menu_up_pin);
  105. setMenuDownPin(menu_down_pin);
  106. setMenuHomePin(menu_home_pin);
  107. return begin(); }
  108. #endif
  109. /* u8g2 */
  110. #ifdef U8G2_WITH_CLIP_WINDOW_SUPPORT
  111. void setMaxClipWindow(void) { u8g2_SetMaxClipWindow(&u8g2); }
  112. void setClipWindow(u8g2_uint_t clip_x0, u8g2_uint_t clip_y0, u8g2_uint_t clip_x1, u8g2_uint_t clip_y1) {
  113. u8g2_SetClipWindow(&u8g2, clip_x0, clip_y0, clip_x1, clip_y1 ); }
  114. #endif /* U8G2_WITH_CLIP_WINDOW_SUPPORT */
  115. u8g2_uint_t getDisplayHeight(void) { return u8g2_GetDisplayHeight(&u8g2); }
  116. u8g2_uint_t getDisplayWidth(void) { return u8g2_GetDisplayWidth(&u8g2); }
  117. /* u8g2_buffer.c */
  118. void sendBuffer(void) { u8g2_SendBuffer(&u8g2); }
  119. void clearBuffer(void) { u8g2_ClearBuffer(&u8g2); }
  120. void firstPage(void) { u8g2_FirstPage(&u8g2); }
  121. uint8_t nextPage(void) { return u8g2_NextPage(&u8g2); }
  122. uint8_t *getBufferPtr(void) { return u8g2_GetBufferPtr(&u8g2); }
  123. uint8_t getBufferTileHeight(void) { return u8g2_GetBufferTileHeight(&u8g2); }
  124. uint8_t getBufferTileWidth(void) { return u8g2_GetBufferTileWidth(&u8g2); }
  125. uint8_t getPageCurrTileRow(void) { return u8g2_GetBufferCurrTileRow(&u8g2); } // obsolete
  126. void setPageCurrTileRow(uint8_t row) { u8g2_SetBufferCurrTileRow(&u8g2, row); } // obsolete
  127. uint8_t getBufferCurrTileRow(void) { return u8g2_GetBufferCurrTileRow(&u8g2); }
  128. void setBufferCurrTileRow(uint8_t row) { u8g2_SetBufferCurrTileRow(&u8g2, row); }
  129. // this should be renamed to setBufferAutoClear
  130. void setAutoPageClear(uint8_t mode) { u8g2_SetAutoPageClear(&u8g2, mode); }
  131. void updateDisplayArea(uint8_t tx, uint8_t ty, uint8_t tw, uint8_t th)
  132. { u8g2_UpdateDisplayArea(&u8g2, tx, ty, tw, th); }
  133. void updateDisplay(void)
  134. { u8g2_UpdateDisplay(&u8g2); }
  135. /* clib/u8g2.hvline.c */
  136. void setDrawColor(uint8_t color_index) { u8g2_SetDrawColor(&u8g2, color_index); }
  137. uint8_t getDrawColor(void) { return u8g2_GetDrawColor(&u8g2); }
  138. void drawPixel(u8g2_uint_t x, u8g2_uint_t y) { u8g2_DrawPixel(&u8g2, x, y); }
  139. void drawHLine(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w) { u8g2_DrawHLine(&u8g2, x, y, w); }
  140. void drawVLine(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t h) { u8g2_DrawVLine(&u8g2, x, y, h); }
  141. void drawHVLine(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t len, uint8_t dir) {
  142. u8g2_DrawHVLine(&u8g2, x, y, len, dir); }
  143. /* u8g2_box.c */
  144. void drawFrame(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h) { u8g2_DrawFrame(&u8g2, x, y, w, h); }
  145. void drawRFrame(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, u8g2_uint_t r) { u8g2_DrawRFrame(&u8g2, x, y, w, h,r); }
  146. void drawBox(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h) { u8g2_DrawBox(&u8g2, x, y, w, h); }
  147. void drawRBox(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, u8g2_uint_t r) { u8g2_DrawRBox(&u8g2, x, y, w, h,r); }
  148. /* u8g2_circle.c */
  149. void drawCircle(u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t opt = U8G2_DRAW_ALL) { u8g2_DrawCircle(&u8g2, x0, y0, rad, opt); }
  150. void drawDisc(u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t opt = U8G2_DRAW_ALL) { u8g2_DrawDisc(&u8g2, x0, y0, rad, opt); }
  151. void drawEllipse(u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rx, u8g2_uint_t ry, uint8_t opt = U8G2_DRAW_ALL) { u8g2_DrawEllipse(&u8g2, x0, y0, rx, ry, opt); }
  152. void drawFilledEllipse(u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rx, u8g2_uint_t ry, uint8_t opt = U8G2_DRAW_ALL) { u8g2_DrawFilledEllipse(&u8g2, x0, y0, rx, ry, opt); }
  153. /* u8g2_arc.c */
  154. void drawArc(u8g2_uint_t x0, u8g2_uint_t y0, u8g2_uint_t rad, uint8_t start, uint8_t end) { u8g2_DrawArc(&u8g2, x0, y0, rad, start, end); }
  155. /* u8g2_line.c */
  156. void drawLine(u8g2_uint_t x1, u8g2_uint_t y1, u8g2_uint_t x2, u8g2_uint_t y2)
  157. { u8g2_DrawLine(&u8g2, x1, y1, x2, y2); }
  158. /* u8g2_bitmap.c */
  159. void setBitmapMode(uint8_t is_transparent)
  160. { u8g2_SetBitmapMode(&u8g2, is_transparent); }
  161. void drawBitmap(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t cnt, u8g2_uint_t h, const uint8_t *bitmap)
  162. { u8g2_DrawBitmap(&u8g2, x, y, cnt, h, bitmap); }
  163. void drawXBM(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, const uint8_t *bitmap)
  164. { u8g2_DrawXBM(&u8g2, x, y, w, h, bitmap); }
  165. void drawXBMP(u8g2_uint_t x, u8g2_uint_t y, u8g2_uint_t w, u8g2_uint_t h, const uint8_t *bitmap)
  166. { u8g2_DrawXBMP(&u8g2, x, y, w, h, bitmap); }
  167. /* u8g2_polygon.c */
  168. void drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2)
  169. { u8g2_DrawTriangle(&u8g2, x0, y0, x1, y1, x2, y2); }
  170. /* u8log_u8g2.c */
  171. void drawLog(u8g2_uint_t x, u8g2_uint_t y, class U8G2LOG &u8g2log);
  172. /* u8g2_font.c */
  173. void setFont(const uint8_t *font) {u8g2_SetFont(&u8g2, font); }
  174. void setFontMode(uint8_t is_transparent) {u8g2_SetFontMode(&u8g2, is_transparent); }
  175. void setFontDirection(uint8_t dir) {u8g2_SetFontDirection(&u8g2, dir); }
  176. int8_t getAscent(void) { return u8g2_GetAscent(&u8g2); }
  177. int8_t getDescent(void) { return u8g2_GetDescent(&u8g2); }
  178. void setFontPosBaseline(void) { u8g2_SetFontPosBaseline(&u8g2); }
  179. void setFontPosBottom(void) { u8g2_SetFontPosBottom(&u8g2); }
  180. void setFontPosTop(void) { u8g2_SetFontPosTop(&u8g2); }
  181. void setFontPosCenter(void) { u8g2_SetFontPosCenter(&u8g2); }
  182. void setFontRefHeightText(void) { u8g2_SetFontRefHeightText(&u8g2); }
  183. void setFontRefHeightExtendedText(void) { u8g2_SetFontRefHeightExtendedText(&u8g2); }
  184. void setFontRefHeightAll(void) { u8g2_SetFontRefHeightAll(&u8g2); }
  185. /*
  186. uint8_t u8g2_IsGlyph(u8g2_t *u8g2, uint16_t requested_encoding);
  187. int8_t u8g2_GetGlyphWidth(u8g2_t *u8g2, uint16_t requested_encoding);
  188. u8g2_uint_t u8g2_GetStrWidth(u8g2_t *u8g2, const char *s);
  189. u8g2_uint_t u8g2_GetUTF8Width(u8g2_t *u8g2, const char *str);
  190. */
  191. u8g2_uint_t drawGlyph(u8g2_uint_t x, u8g2_uint_t y, uint16_t encoding) { return u8g2_DrawGlyph(&u8g2, x, y, encoding); }
  192. u8g2_uint_t drawStr(u8g2_uint_t x, u8g2_uint_t y, const char *s) { return u8g2_DrawStr(&u8g2, x, y, s); }
  193. u8g2_uint_t drawUTF8(u8g2_uint_t x, u8g2_uint_t y, const char *s) { return u8g2_DrawUTF8(&u8g2, x, y, s); }
  194. u8g2_uint_t drawExtUTF8(u8g2_uint_t x, u8g2_uint_t y, uint8_t to_left, const uint16_t *kerning_table, const char *s)
  195. { return u8g2_DrawExtUTF8(&u8g2, x, y, to_left, kerning_table, s); }
  196. u8g2_uint_t getStrWidth(const char *s) { return u8g2_GetStrWidth(&u8g2, s); }
  197. u8g2_uint_t getUTF8Width(const char *s) { return u8g2_GetUTF8Width(&u8g2, s); }
  198. // not required any more, enable UTF8 for print
  199. //void printUTF8(const char *s) { tx += u8g2_DrawUTF8(&u8g2, tx, ty, s); }
  200. /* screenshot functions for full buffer mode */
  201. /* vertical top lsb memory architecture */
  202. void writeBufferPBM(Print &p);
  203. void writeBufferXBM(Print &p);
  204. /* horizontal right lsb memory architecture */
  205. /* SH1122, LD7032, ST7920, ST7986, LC7981, T6963, SED1330, RA8835, MAX7219, LS0 */
  206. void writeBufferPBM2(Print &p);
  207. void writeBufferXBM2(Print &p);
  208. /* virtual function for print base class */
  209. virtual size_t write(uint8_t v) {
  210. uint16_t e = cpp_next_cb(&(u8g2.u8x8), v);
  211. if ( e < 0x0fffe )
  212. tx += u8g2_DrawGlyph(&u8g2, tx, ty, e);
  213. return 1;
  214. }
  215. virtual size_t write(const uint8_t *buffer, size_t size) {
  216. size_t cnt = 0;
  217. while( size > 0 ) {
  218. cnt += write(*buffer++);
  219. size--;
  220. }
  221. return cnt;
  222. }
  223. /* user interface */
  224. /*
  225. uint8_t u8g2_UserInterfaceSelectionList(u8g2_t *u8g2, const char *title, uint8_t start_pos, const char *sl);
  226. uint8_t u8g2_UserInterfaceMessage(u8g2_t *u8g2, const char *title1, const char *title2, const char *title3, const char *buttons);
  227. uint8_t u8g2_UserInterfaceInputValue(u8g2_t *u8g2, const char *title, const char *pre, uint8_t *value, uint8_t lo, uint8_t hi, uint8_t digits, const char *post);
  228. */
  229. uint8_t userInterfaceSelectionList(const char *title, uint8_t start_pos, const char *sl) {
  230. return u8g2_UserInterfaceSelectionList(&u8g2, title, start_pos, sl); }
  231. uint8_t userInterfaceMessage(const char *title1, const char *title2, const char *title3, const char *buttons) {
  232. return u8g2_UserInterfaceMessage(&u8g2, title1, title2, title3, buttons); }
  233. uint8_t userInterfaceInputValue(const char *title, const char *pre, uint8_t *value, uint8_t lo, uint8_t hi, uint8_t digits, const char *post) {
  234. return u8g2_UserInterfaceInputValue(&u8g2, title, pre, value, lo, hi, digits, post); }
  235. /* LiquidCrystal compatible functions */
  236. void home(void) { tx = 0; ty = 0; u8x8_utf8_init(u8g2_GetU8x8(&u8g2)); }
  237. void clear(void) { home(); clearDisplay(); clearBuffer(); }
  238. void noDisplay(void) { u8g2_SetPowerSave(&u8g2, 1); }
  239. void display(void) { u8g2_SetPowerSave(&u8g2, 0); }
  240. void setCursor(u8g2_uint_t x, u8g2_uint_t y) { tx = x; ty = y; }
  241. /* u8glib compatible functions */
  242. void sleepOn(void) { u8g2_SetPowerSave(&u8g2, 1); }
  243. void sleepOff(void) { u8g2_SetPowerSave(&u8g2, 0); }
  244. void setColorIndex(uint8_t color_index) { u8g2_SetDrawColor(&u8g2, color_index); }
  245. uint8_t getColorIndex(void) { return u8g2_GetDrawColor(&u8g2); }
  246. int8_t getFontAscent(void) { return u8g2_GetAscent(&u8g2); }
  247. int8_t getFontDescent(void) { return u8g2_GetDescent(&u8g2); }
  248. int8_t getMaxCharHeight(void) { return u8g2_GetMaxCharHeight(&u8g2); }
  249. int8_t getMaxCharWidth(void) { return u8g2_GetMaxCharWidth(&u8g2); }
  250. u8g2_uint_t getHeight() { return u8g2_GetDisplayHeight(&u8g2); }
  251. u8g2_uint_t getWidth() { return u8g2_GetDisplayWidth(&u8g2); }
  252. };
  253. class U8G2LOG: public Print
  254. {
  255. public:
  256. u8log_t u8log;
  257. /* the constructor does nothing, use begin() instead */
  258. U8G2LOG(void) { }
  259. /* connect to u8g2, draw to u8g2 whenever required */
  260. bool begin(class U8G2 &u8g2, uint8_t width, uint8_t height, uint8_t *buf) {
  261. u8log_Init(&u8log, width, height, buf);
  262. u8log_SetCallback(&u8log, u8log_u8g2_cb, u8g2.getU8g2());
  263. return true;
  264. }
  265. /* disconnected version, manual redraw required */
  266. bool begin(uint8_t width, uint8_t height, uint8_t *buf) {
  267. u8log_Init(&u8log, width, height, buf);
  268. return true;
  269. }
  270. void setLineHeightOffset(int8_t line_height_offset) {
  271. u8log_SetLineHeightOffset(&u8log, line_height_offset); }
  272. void setRedrawMode(uint8_t is_redraw_line_for_each_char) {
  273. u8log_SetRedrawMode(&u8log, is_redraw_line_for_each_char); }
  274. /* virtual function for print base class */
  275. virtual size_t write(uint8_t v) {
  276. u8log_WriteChar(&u8log, v);
  277. return 1;
  278. }
  279. virtual size_t write(const uint8_t *buffer, size_t size) {
  280. size_t cnt = 0;
  281. while( size > 0 ) {
  282. cnt += write(*buffer++);
  283. size--;
  284. }
  285. return cnt;
  286. }
  287. void writeString(const char *s) { u8log_WriteString(&u8log, s); }
  288. void writeChar(uint8_t c) { u8log_WriteChar(&u8log, c); }
  289. void writeHex8(uint8_t b) { u8log_WriteHex8(&u8log, b); }
  290. void writeHex16(uint16_t v) { u8log_WriteHex16(&u8log, v); }
  291. void writeHex32(uint32_t v) { u8log_WriteHex32(&u8log, v); }
  292. void writeDec8(uint8_t v, uint8_t d) { u8log_WriteDec8(&u8log, v, d); }
  293. void writeDec16(uint8_t v, uint8_t d) { u8log_WriteDec16(&u8log, v, d); }
  294. };
  295. /* u8log_u8g2.c */
  296. inline void U8G2::drawLog(u8g2_uint_t x, u8g2_uint_t y, class U8G2LOG &u8g2log)
  297. {
  298. u8g2_DrawLog(&u8g2, x, y, &(u8g2log.u8log));
  299. }
  300. /*
  301. U8G2_<controller>_<display>_<memory>_<communication>
  302. memory
  303. "1" one page
  304. "2" two pages
  305. "f" full frame buffer
  306. communication
  307. "SW SPI"
  308. */
  309. #ifdef U8X8_USE_PINS
  310. /* null device */
  311. class U8G2_NULL : public U8G2 {
  312. public: U8G2_NULL(const u8g2_cb_t *rotation) : U8G2() {
  313. u8g2_Setup_null(&u8g2, rotation, u8x8_byte_empty, u8x8_dummy_cb);
  314. }
  315. };
  316. /* generated code (codebuild), u8g2 project */
  317. class U8G2_SSD1305_128X32_NONAME_1_4W_SW_SPI : public U8G2 {
  318. public: U8G2_SSD1305_128X32_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  319. u8g2_Setup_ssd1305_128x32_noname_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  320. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  321. }
  322. };
  323. #if defined U8G2_USE_HW_SPI
  324. class U8G2_SSD1305_128X32_NONAME_1_4W_HW_SPI : public U8G2 {
  325. public: U8G2_SSD1305_128X32_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  326. u8g2_Setup_ssd1305_128x32_noname_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  327. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  328. }
  329. };
  330. #endif
  331. class U8G2_SSD1305_128X32_NONAME_1_6800 : public U8G2 {
  332. public: U8G2_SSD1305_128X32_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  333. u8g2_Setup_ssd1305_128x32_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  334. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  335. }
  336. };
  337. class U8G2_SSD1305_128X32_NONAME_1_8080 : public U8G2 {
  338. public: U8G2_SSD1305_128X32_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  339. u8g2_Setup_ssd1305_128x32_noname_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  340. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  341. }
  342. };
  343. class U8G2_SSD1305_128X32_ADAFRUIT_1_4W_SW_SPI : public U8G2 {
  344. public: U8G2_SSD1305_128X32_ADAFRUIT_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  345. u8g2_Setup_ssd1305_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  346. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  347. }
  348. };
  349. #if defined U8G2_USE_HW_SPI
  350. class U8G2_SSD1305_128X32_ADAFRUIT_1_4W_HW_SPI : public U8G2 {
  351. public: U8G2_SSD1305_128X32_ADAFRUIT_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  352. u8g2_Setup_ssd1305_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  353. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  354. }
  355. };
  356. #endif
  357. class U8G2_SSD1305_128X32_ADAFRUIT_1_6800 : public U8G2 {
  358. public: U8G2_SSD1305_128X32_ADAFRUIT_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  359. u8g2_Setup_ssd1305_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  360. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  361. }
  362. };
  363. class U8G2_SSD1305_128X32_ADAFRUIT_1_8080 : public U8G2 {
  364. public: U8G2_SSD1305_128X32_ADAFRUIT_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  365. u8g2_Setup_ssd1305_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  366. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  367. }
  368. };
  369. class U8G2_SSD1305_128X32_NONAME_2_4W_SW_SPI : public U8G2 {
  370. public: U8G2_SSD1305_128X32_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  371. u8g2_Setup_ssd1305_128x32_noname_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  372. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  373. }
  374. };
  375. #if defined U8G2_USE_HW_SPI
  376. class U8G2_SSD1305_128X32_NONAME_2_4W_HW_SPI : public U8G2 {
  377. public: U8G2_SSD1305_128X32_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  378. u8g2_Setup_ssd1305_128x32_noname_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  379. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  380. }
  381. };
  382. #endif
  383. class U8G2_SSD1305_128X32_NONAME_2_6800 : public U8G2 {
  384. public: U8G2_SSD1305_128X32_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  385. u8g2_Setup_ssd1305_128x32_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  386. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  387. }
  388. };
  389. class U8G2_SSD1305_128X32_NONAME_2_8080 : public U8G2 {
  390. public: U8G2_SSD1305_128X32_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  391. u8g2_Setup_ssd1305_128x32_noname_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  392. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  393. }
  394. };
  395. class U8G2_SSD1305_128X32_ADAFRUIT_2_4W_SW_SPI : public U8G2 {
  396. public: U8G2_SSD1305_128X32_ADAFRUIT_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  397. u8g2_Setup_ssd1305_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  398. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  399. }
  400. };
  401. #if defined U8G2_USE_HW_SPI
  402. class U8G2_SSD1305_128X32_ADAFRUIT_2_4W_HW_SPI : public U8G2 {
  403. public: U8G2_SSD1305_128X32_ADAFRUIT_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  404. u8g2_Setup_ssd1305_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  405. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  406. }
  407. };
  408. #endif
  409. class U8G2_SSD1305_128X32_ADAFRUIT_2_6800 : public U8G2 {
  410. public: U8G2_SSD1305_128X32_ADAFRUIT_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  411. u8g2_Setup_ssd1305_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  412. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  413. }
  414. };
  415. class U8G2_SSD1305_128X32_ADAFRUIT_2_8080 : public U8G2 {
  416. public: U8G2_SSD1305_128X32_ADAFRUIT_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  417. u8g2_Setup_ssd1305_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  418. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  419. }
  420. };
  421. class U8G2_SSD1305_128X32_NONAME_F_4W_SW_SPI : public U8G2 {
  422. public: U8G2_SSD1305_128X32_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  423. u8g2_Setup_ssd1305_128x32_noname_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  424. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  425. }
  426. };
  427. #if defined U8G2_USE_HW_SPI
  428. class U8G2_SSD1305_128X32_NONAME_F_4W_HW_SPI : public U8G2 {
  429. public: U8G2_SSD1305_128X32_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  430. u8g2_Setup_ssd1305_128x32_noname_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  431. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  432. }
  433. };
  434. #endif
  435. class U8G2_SSD1305_128X32_NONAME_F_6800 : public U8G2 {
  436. public: U8G2_SSD1305_128X32_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  437. u8g2_Setup_ssd1305_128x32_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  438. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  439. }
  440. };
  441. class U8G2_SSD1305_128X32_NONAME_F_8080 : public U8G2 {
  442. public: U8G2_SSD1305_128X32_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  443. u8g2_Setup_ssd1305_128x32_noname_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  444. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  445. }
  446. };
  447. class U8G2_SSD1305_128X32_ADAFRUIT_F_4W_SW_SPI : public U8G2 {
  448. public: U8G2_SSD1305_128X32_ADAFRUIT_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  449. u8g2_Setup_ssd1305_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  450. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  451. }
  452. };
  453. #if defined U8G2_USE_HW_SPI
  454. class U8G2_SSD1305_128X32_ADAFRUIT_F_4W_HW_SPI : public U8G2 {
  455. public: U8G2_SSD1305_128X32_ADAFRUIT_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  456. u8g2_Setup_ssd1305_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  457. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  458. }
  459. };
  460. #endif
  461. class U8G2_SSD1305_128X32_ADAFRUIT_F_6800 : public U8G2 {
  462. public: U8G2_SSD1305_128X32_ADAFRUIT_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  463. u8g2_Setup_ssd1305_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  464. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  465. }
  466. };
  467. class U8G2_SSD1305_128X32_ADAFRUIT_F_8080 : public U8G2 {
  468. public: U8G2_SSD1305_128X32_ADAFRUIT_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  469. u8g2_Setup_ssd1305_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  470. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  471. }
  472. };
  473. class U8G2_SSD1305_128X32_NONAME_1_SW_I2C : public U8G2 {
  474. public: U8G2_SSD1305_128X32_NONAME_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  475. u8g2_Setup_ssd1305_i2c_128x32_noname_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  476. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  477. }
  478. };
  479. #if defined U8G2_USE_HW_I2C
  480. class U8G2_SSD1305_128X32_NONAME_1_HW_I2C : public U8G2 {
  481. public: U8G2_SSD1305_128X32_NONAME_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  482. u8g2_Setup_ssd1305_i2c_128x32_noname_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  483. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  484. }
  485. };
  486. #endif
  487. class U8G2_SSD1305_128X32_ADAFRUIT_1_SW_I2C : public U8G2 {
  488. public: U8G2_SSD1305_128X32_ADAFRUIT_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  489. u8g2_Setup_ssd1305_i2c_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  490. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  491. }
  492. };
  493. #if defined U8G2_USE_HW_I2C
  494. class U8G2_SSD1305_128X32_ADAFRUIT_1_HW_I2C : public U8G2 {
  495. public: U8G2_SSD1305_128X32_ADAFRUIT_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  496. u8g2_Setup_ssd1305_i2c_128x32_adafruit_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  497. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  498. }
  499. };
  500. #endif
  501. class U8G2_SSD1305_128X32_NONAME_2_SW_I2C : public U8G2 {
  502. public: U8G2_SSD1305_128X32_NONAME_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  503. u8g2_Setup_ssd1305_i2c_128x32_noname_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  504. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  505. }
  506. };
  507. #if defined U8G2_USE_HW_I2C
  508. class U8G2_SSD1305_128X32_NONAME_2_HW_I2C : public U8G2 {
  509. public: U8G2_SSD1305_128X32_NONAME_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  510. u8g2_Setup_ssd1305_i2c_128x32_noname_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  511. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  512. }
  513. };
  514. #endif
  515. class U8G2_SSD1305_128X32_ADAFRUIT_2_SW_I2C : public U8G2 {
  516. public: U8G2_SSD1305_128X32_ADAFRUIT_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  517. u8g2_Setup_ssd1305_i2c_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  518. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  519. }
  520. };
  521. #if defined U8G2_USE_HW_I2C
  522. class U8G2_SSD1305_128X32_ADAFRUIT_2_HW_I2C : public U8G2 {
  523. public: U8G2_SSD1305_128X32_ADAFRUIT_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  524. u8g2_Setup_ssd1305_i2c_128x32_adafruit_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  525. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  526. }
  527. };
  528. #endif
  529. class U8G2_SSD1305_128X32_NONAME_F_SW_I2C : public U8G2 {
  530. public: U8G2_SSD1305_128X32_NONAME_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  531. u8g2_Setup_ssd1305_i2c_128x32_noname_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  532. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  533. }
  534. };
  535. #if defined U8G2_USE_HW_I2C
  536. class U8G2_SSD1305_128X32_NONAME_F_HW_I2C : public U8G2 {
  537. public: U8G2_SSD1305_128X32_NONAME_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  538. u8g2_Setup_ssd1305_i2c_128x32_noname_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  539. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  540. }
  541. };
  542. #endif
  543. class U8G2_SSD1305_128X32_ADAFRUIT_F_SW_I2C : public U8G2 {
  544. public: U8G2_SSD1305_128X32_ADAFRUIT_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  545. u8g2_Setup_ssd1305_i2c_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  546. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  547. }
  548. };
  549. #if defined U8G2_USE_HW_I2C
  550. class U8G2_SSD1305_128X32_ADAFRUIT_F_HW_I2C : public U8G2 {
  551. public: U8G2_SSD1305_128X32_ADAFRUIT_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  552. u8g2_Setup_ssd1305_i2c_128x32_adafruit_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  553. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  554. }
  555. };
  556. #endif
  557. class U8G2_SSD1305_128X64_ADAFRUIT_1_4W_SW_SPI : public U8G2 {
  558. public: U8G2_SSD1305_128X64_ADAFRUIT_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  559. u8g2_Setup_ssd1305_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  560. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  561. }
  562. };
  563. #if defined U8G2_USE_HW_SPI
  564. class U8G2_SSD1305_128X64_ADAFRUIT_1_4W_HW_SPI : public U8G2 {
  565. public: U8G2_SSD1305_128X64_ADAFRUIT_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  566. u8g2_Setup_ssd1305_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  567. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  568. }
  569. };
  570. #endif
  571. class U8G2_SSD1305_128X64_ADAFRUIT_1_6800 : public U8G2 {
  572. public: U8G2_SSD1305_128X64_ADAFRUIT_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  573. u8g2_Setup_ssd1305_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  574. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  575. }
  576. };
  577. class U8G2_SSD1305_128X64_ADAFRUIT_1_8080 : public U8G2 {
  578. public: U8G2_SSD1305_128X64_ADAFRUIT_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  579. u8g2_Setup_ssd1305_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  580. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  581. }
  582. };
  583. class U8G2_SSD1305_128X64_RAYSTAR_1_4W_SW_SPI : public U8G2 {
  584. public: U8G2_SSD1305_128X64_RAYSTAR_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  585. u8g2_Setup_ssd1305_128x64_raystar_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  586. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  587. }
  588. };
  589. #if defined U8G2_USE_HW_SPI
  590. class U8G2_SSD1305_128X64_RAYSTAR_1_4W_HW_SPI : public U8G2 {
  591. public: U8G2_SSD1305_128X64_RAYSTAR_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  592. u8g2_Setup_ssd1305_128x64_raystar_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  593. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  594. }
  595. };
  596. #endif
  597. class U8G2_SSD1305_128X64_RAYSTAR_1_6800 : public U8G2 {
  598. public: U8G2_SSD1305_128X64_RAYSTAR_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  599. u8g2_Setup_ssd1305_128x64_raystar_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  600. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  601. }
  602. };
  603. class U8G2_SSD1305_128X64_RAYSTAR_1_8080 : public U8G2 {
  604. public: U8G2_SSD1305_128X64_RAYSTAR_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  605. u8g2_Setup_ssd1305_128x64_raystar_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  606. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  607. }
  608. };
  609. class U8G2_SSD1305_128X64_ADAFRUIT_2_4W_SW_SPI : public U8G2 {
  610. public: U8G2_SSD1305_128X64_ADAFRUIT_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  611. u8g2_Setup_ssd1305_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  612. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  613. }
  614. };
  615. #if defined U8G2_USE_HW_SPI
  616. class U8G2_SSD1305_128X64_ADAFRUIT_2_4W_HW_SPI : public U8G2 {
  617. public: U8G2_SSD1305_128X64_ADAFRUIT_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  618. u8g2_Setup_ssd1305_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  619. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  620. }
  621. };
  622. #endif
  623. class U8G2_SSD1305_128X64_ADAFRUIT_2_6800 : public U8G2 {
  624. public: U8G2_SSD1305_128X64_ADAFRUIT_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  625. u8g2_Setup_ssd1305_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  626. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  627. }
  628. };
  629. class U8G2_SSD1305_128X64_ADAFRUIT_2_8080 : public U8G2 {
  630. public: U8G2_SSD1305_128X64_ADAFRUIT_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  631. u8g2_Setup_ssd1305_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  632. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  633. }
  634. };
  635. class U8G2_SSD1305_128X64_RAYSTAR_2_4W_SW_SPI : public U8G2 {
  636. public: U8G2_SSD1305_128X64_RAYSTAR_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  637. u8g2_Setup_ssd1305_128x64_raystar_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  638. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  639. }
  640. };
  641. #if defined U8G2_USE_HW_SPI
  642. class U8G2_SSD1305_128X64_RAYSTAR_2_4W_HW_SPI : public U8G2 {
  643. public: U8G2_SSD1305_128X64_RAYSTAR_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  644. u8g2_Setup_ssd1305_128x64_raystar_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  645. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  646. }
  647. };
  648. #endif
  649. class U8G2_SSD1305_128X64_RAYSTAR_2_6800 : public U8G2 {
  650. public: U8G2_SSD1305_128X64_RAYSTAR_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  651. u8g2_Setup_ssd1305_128x64_raystar_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  652. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  653. }
  654. };
  655. class U8G2_SSD1305_128X64_RAYSTAR_2_8080 : public U8G2 {
  656. public: U8G2_SSD1305_128X64_RAYSTAR_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  657. u8g2_Setup_ssd1305_128x64_raystar_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  658. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  659. }
  660. };
  661. class U8G2_SSD1305_128X64_ADAFRUIT_F_4W_SW_SPI : public U8G2 {
  662. public: U8G2_SSD1305_128X64_ADAFRUIT_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  663. u8g2_Setup_ssd1305_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  664. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  665. }
  666. };
  667. #if defined U8G2_USE_HW_SPI
  668. class U8G2_SSD1305_128X64_ADAFRUIT_F_4W_HW_SPI : public U8G2 {
  669. public: U8G2_SSD1305_128X64_ADAFRUIT_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  670. u8g2_Setup_ssd1305_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  671. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  672. }
  673. };
  674. #endif
  675. class U8G2_SSD1305_128X64_ADAFRUIT_F_6800 : public U8G2 {
  676. public: U8G2_SSD1305_128X64_ADAFRUIT_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  677. u8g2_Setup_ssd1305_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  678. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  679. }
  680. };
  681. class U8G2_SSD1305_128X64_ADAFRUIT_F_8080 : public U8G2 {
  682. public: U8G2_SSD1305_128X64_ADAFRUIT_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  683. u8g2_Setup_ssd1305_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  684. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  685. }
  686. };
  687. class U8G2_SSD1305_128X64_RAYSTAR_F_4W_SW_SPI : public U8G2 {
  688. public: U8G2_SSD1305_128X64_RAYSTAR_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  689. u8g2_Setup_ssd1305_128x64_raystar_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  690. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  691. }
  692. };
  693. #if defined U8G2_USE_HW_SPI
  694. class U8G2_SSD1305_128X64_RAYSTAR_F_4W_HW_SPI : public U8G2 {
  695. public: U8G2_SSD1305_128X64_RAYSTAR_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  696. u8g2_Setup_ssd1305_128x64_raystar_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  697. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  698. }
  699. };
  700. #endif
  701. class U8G2_SSD1305_128X64_RAYSTAR_F_6800 : public U8G2 {
  702. public: U8G2_SSD1305_128X64_RAYSTAR_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  703. u8g2_Setup_ssd1305_128x64_raystar_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  704. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  705. }
  706. };
  707. class U8G2_SSD1305_128X64_RAYSTAR_F_8080 : public U8G2 {
  708. public: U8G2_SSD1305_128X64_RAYSTAR_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  709. u8g2_Setup_ssd1305_128x64_raystar_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  710. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  711. }
  712. };
  713. class U8G2_SSD1305_128X64_ADAFRUIT_1_SW_I2C : public U8G2 {
  714. public: U8G2_SSD1305_128X64_ADAFRUIT_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  715. u8g2_Setup_ssd1305_i2c_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  716. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  717. }
  718. };
  719. #if defined U8G2_USE_HW_I2C
  720. class U8G2_SSD1305_128X64_ADAFRUIT_1_HW_I2C : public U8G2 {
  721. public: U8G2_SSD1305_128X64_ADAFRUIT_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  722. u8g2_Setup_ssd1305_i2c_128x64_adafruit_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  723. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  724. }
  725. };
  726. #endif
  727. class U8G2_SSD1305_128X64_RAYSTAR_1_SW_I2C : public U8G2 {
  728. public: U8G2_SSD1305_128X64_RAYSTAR_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  729. u8g2_Setup_ssd1305_i2c_128x64_raystar_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  730. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  731. }
  732. };
  733. #if defined U8G2_USE_HW_I2C
  734. class U8G2_SSD1305_128X64_RAYSTAR_1_HW_I2C : public U8G2 {
  735. public: U8G2_SSD1305_128X64_RAYSTAR_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  736. u8g2_Setup_ssd1305_i2c_128x64_raystar_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  737. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  738. }
  739. };
  740. #endif
  741. class U8G2_SSD1305_128X64_ADAFRUIT_2_SW_I2C : public U8G2 {
  742. public: U8G2_SSD1305_128X64_ADAFRUIT_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  743. u8g2_Setup_ssd1305_i2c_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  744. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  745. }
  746. };
  747. #if defined U8G2_USE_HW_I2C
  748. class U8G2_SSD1305_128X64_ADAFRUIT_2_HW_I2C : public U8G2 {
  749. public: U8G2_SSD1305_128X64_ADAFRUIT_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  750. u8g2_Setup_ssd1305_i2c_128x64_adafruit_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  751. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  752. }
  753. };
  754. #endif
  755. class U8G2_SSD1305_128X64_RAYSTAR_2_SW_I2C : public U8G2 {
  756. public: U8G2_SSD1305_128X64_RAYSTAR_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  757. u8g2_Setup_ssd1305_i2c_128x64_raystar_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  758. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  759. }
  760. };
  761. #if defined U8G2_USE_HW_I2C
  762. class U8G2_SSD1305_128X64_RAYSTAR_2_HW_I2C : public U8G2 {
  763. public: U8G2_SSD1305_128X64_RAYSTAR_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  764. u8g2_Setup_ssd1305_i2c_128x64_raystar_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  765. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  766. }
  767. };
  768. #endif
  769. class U8G2_SSD1305_128X64_ADAFRUIT_F_SW_I2C : public U8G2 {
  770. public: U8G2_SSD1305_128X64_ADAFRUIT_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  771. u8g2_Setup_ssd1305_i2c_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  772. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  773. }
  774. };
  775. #if defined U8G2_USE_HW_I2C
  776. class U8G2_SSD1305_128X64_ADAFRUIT_F_HW_I2C : public U8G2 {
  777. public: U8G2_SSD1305_128X64_ADAFRUIT_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  778. u8g2_Setup_ssd1305_i2c_128x64_adafruit_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  779. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  780. }
  781. };
  782. #endif
  783. class U8G2_SSD1305_128X64_RAYSTAR_F_SW_I2C : public U8G2 {
  784. public: U8G2_SSD1305_128X64_RAYSTAR_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  785. u8g2_Setup_ssd1305_i2c_128x64_raystar_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  786. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  787. }
  788. };
  789. #if defined U8G2_USE_HW_I2C
  790. class U8G2_SSD1305_128X64_RAYSTAR_F_HW_I2C : public U8G2 {
  791. public: U8G2_SSD1305_128X64_RAYSTAR_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  792. u8g2_Setup_ssd1305_i2c_128x64_raystar_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  793. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  794. }
  795. };
  796. #endif
  797. class U8G2_SSD1306_2040X16_1_4W_SW_SPI : public U8G2 {
  798. public: U8G2_SSD1306_2040X16_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  799. u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  800. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  801. }
  802. };
  803. #if defined U8G2_USE_HW_SPI
  804. class U8G2_SSD1306_2040X16_1_4W_HW_SPI : public U8G2 {
  805. public: U8G2_SSD1306_2040X16_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  806. u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  807. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  808. }
  809. };
  810. #endif
  811. class U8G2_SSD1306_2040X16_1_3W_SW_SPI : public U8G2 {
  812. public: U8G2_SSD1306_2040X16_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  813. u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  814. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  815. }
  816. };
  817. class U8G2_SSD1306_2040X16_1_6800 : public U8G2 {
  818. public: U8G2_SSD1306_2040X16_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  819. u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  820. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  821. }
  822. };
  823. class U8G2_SSD1306_2040X16_1_8080 : public U8G2 {
  824. public: U8G2_SSD1306_2040X16_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  825. u8g2_Setup_ssd1306_2040x16_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  826. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  827. }
  828. };
  829. class U8G2_SSD1306_2040X16_2_4W_SW_SPI : public U8G2 {
  830. public: U8G2_SSD1306_2040X16_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  831. u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  832. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  833. }
  834. };
  835. #if defined U8G2_USE_HW_SPI
  836. class U8G2_SSD1306_2040X16_2_4W_HW_SPI : public U8G2 {
  837. public: U8G2_SSD1306_2040X16_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  838. u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  839. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  840. }
  841. };
  842. #endif
  843. class U8G2_SSD1306_2040X16_2_3W_SW_SPI : public U8G2 {
  844. public: U8G2_SSD1306_2040X16_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  845. u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  846. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  847. }
  848. };
  849. class U8G2_SSD1306_2040X16_2_6800 : public U8G2 {
  850. public: U8G2_SSD1306_2040X16_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  851. u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  852. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  853. }
  854. };
  855. class U8G2_SSD1306_2040X16_2_8080 : public U8G2 {
  856. public: U8G2_SSD1306_2040X16_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  857. u8g2_Setup_ssd1306_2040x16_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  858. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  859. }
  860. };
  861. class U8G2_SSD1306_2040X16_F_4W_SW_SPI : public U8G2 {
  862. public: U8G2_SSD1306_2040X16_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  863. u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  864. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  865. }
  866. };
  867. #if defined U8G2_USE_HW_SPI
  868. class U8G2_SSD1306_2040X16_F_4W_HW_SPI : public U8G2 {
  869. public: U8G2_SSD1306_2040X16_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  870. u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  871. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  872. }
  873. };
  874. #endif
  875. class U8G2_SSD1306_2040X16_F_3W_SW_SPI : public U8G2 {
  876. public: U8G2_SSD1306_2040X16_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  877. u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  878. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  879. }
  880. };
  881. class U8G2_SSD1306_2040X16_F_6800 : public U8G2 {
  882. public: U8G2_SSD1306_2040X16_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  883. u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  884. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  885. }
  886. };
  887. class U8G2_SSD1306_2040X16_F_8080 : public U8G2 {
  888. public: U8G2_SSD1306_2040X16_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  889. u8g2_Setup_ssd1306_2040x16_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  890. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  891. }
  892. };
  893. class U8G2_SSD1306_128X64_NONAME_1_4W_SW_SPI : public U8G2 {
  894. public: U8G2_SSD1306_128X64_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  895. u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  896. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  897. }
  898. };
  899. #if defined U8G2_USE_HW_SPI
  900. class U8G2_SSD1306_128X64_NONAME_1_4W_HW_SPI : public U8G2 {
  901. public: U8G2_SSD1306_128X64_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  902. u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  903. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  904. }
  905. };
  906. #endif
  907. class U8G2_SSD1306_128X64_NONAME_1_3W_SW_SPI : public U8G2 {
  908. public: U8G2_SSD1306_128X64_NONAME_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  909. u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  910. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  911. }
  912. };
  913. class U8G2_SSD1306_128X64_NONAME_1_6800 : public U8G2 {
  914. public: U8G2_SSD1306_128X64_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  915. u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  916. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  917. }
  918. };
  919. class U8G2_SSD1306_128X64_NONAME_1_8080 : public U8G2 {
  920. public: U8G2_SSD1306_128X64_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  921. u8g2_Setup_ssd1306_128x64_noname_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  922. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  923. }
  924. };
  925. class U8G2_SSD1306_128X64_VCOMH0_1_4W_SW_SPI : public U8G2 {
  926. public: U8G2_SSD1306_128X64_VCOMH0_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  927. u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  928. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  929. }
  930. };
  931. #if defined U8G2_USE_HW_SPI
  932. class U8G2_SSD1306_128X64_VCOMH0_1_4W_HW_SPI : public U8G2 {
  933. public: U8G2_SSD1306_128X64_VCOMH0_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  934. u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  935. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  936. }
  937. };
  938. #endif
  939. class U8G2_SSD1306_128X64_VCOMH0_1_3W_SW_SPI : public U8G2 {
  940. public: U8G2_SSD1306_128X64_VCOMH0_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  941. u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  942. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  943. }
  944. };
  945. class U8G2_SSD1306_128X64_VCOMH0_1_6800 : public U8G2 {
  946. public: U8G2_SSD1306_128X64_VCOMH0_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  947. u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  948. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  949. }
  950. };
  951. class U8G2_SSD1306_128X64_VCOMH0_1_8080 : public U8G2 {
  952. public: U8G2_SSD1306_128X64_VCOMH0_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  953. u8g2_Setup_ssd1306_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  954. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  955. }
  956. };
  957. class U8G2_SSD1306_128X64_ALT0_1_4W_SW_SPI : public U8G2 {
  958. public: U8G2_SSD1306_128X64_ALT0_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  959. u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  960. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  961. }
  962. };
  963. #if defined U8G2_USE_HW_SPI
  964. class U8G2_SSD1306_128X64_ALT0_1_4W_HW_SPI : public U8G2 {
  965. public: U8G2_SSD1306_128X64_ALT0_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  966. u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  967. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  968. }
  969. };
  970. #endif
  971. class U8G2_SSD1306_128X64_ALT0_1_3W_SW_SPI : public U8G2 {
  972. public: U8G2_SSD1306_128X64_ALT0_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  973. u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  974. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  975. }
  976. };
  977. class U8G2_SSD1306_128X64_ALT0_1_6800 : public U8G2 {
  978. public: U8G2_SSD1306_128X64_ALT0_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  979. u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  980. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  981. }
  982. };
  983. class U8G2_SSD1306_128X64_ALT0_1_8080 : public U8G2 {
  984. public: U8G2_SSD1306_128X64_ALT0_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  985. u8g2_Setup_ssd1306_128x64_alt0_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  986. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  987. }
  988. };
  989. class U8G2_SSD1306_128X64_NONAME_2_4W_SW_SPI : public U8G2 {
  990. public: U8G2_SSD1306_128X64_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  991. u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  992. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  993. }
  994. };
  995. #if defined U8G2_USE_HW_SPI
  996. class U8G2_SSD1306_128X64_NONAME_2_4W_HW_SPI : public U8G2 {
  997. public: U8G2_SSD1306_128X64_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  998. u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  999. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1000. }
  1001. };
  1002. #endif
  1003. class U8G2_SSD1306_128X64_NONAME_2_3W_SW_SPI : public U8G2 {
  1004. public: U8G2_SSD1306_128X64_NONAME_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1005. u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1006. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1007. }
  1008. };
  1009. class U8G2_SSD1306_128X64_NONAME_2_6800 : public U8G2 {
  1010. public: U8G2_SSD1306_128X64_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1011. u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1012. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1013. }
  1014. };
  1015. class U8G2_SSD1306_128X64_NONAME_2_8080 : public U8G2 {
  1016. public: U8G2_SSD1306_128X64_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1017. u8g2_Setup_ssd1306_128x64_noname_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1018. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1019. }
  1020. };
  1021. class U8G2_SSD1306_128X64_VCOMH0_2_4W_SW_SPI : public U8G2 {
  1022. public: U8G2_SSD1306_128X64_VCOMH0_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1023. u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1024. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1025. }
  1026. };
  1027. #if defined U8G2_USE_HW_SPI
  1028. class U8G2_SSD1306_128X64_VCOMH0_2_4W_HW_SPI : public U8G2 {
  1029. public: U8G2_SSD1306_128X64_VCOMH0_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1030. u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1031. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1032. }
  1033. };
  1034. #endif
  1035. class U8G2_SSD1306_128X64_VCOMH0_2_3W_SW_SPI : public U8G2 {
  1036. public: U8G2_SSD1306_128X64_VCOMH0_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1037. u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1038. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1039. }
  1040. };
  1041. class U8G2_SSD1306_128X64_VCOMH0_2_6800 : public U8G2 {
  1042. public: U8G2_SSD1306_128X64_VCOMH0_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1043. u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1044. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1045. }
  1046. };
  1047. class U8G2_SSD1306_128X64_VCOMH0_2_8080 : public U8G2 {
  1048. public: U8G2_SSD1306_128X64_VCOMH0_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1049. u8g2_Setup_ssd1306_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1050. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1051. }
  1052. };
  1053. class U8G2_SSD1306_128X64_ALT0_2_4W_SW_SPI : public U8G2 {
  1054. public: U8G2_SSD1306_128X64_ALT0_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1055. u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1056. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1057. }
  1058. };
  1059. #if defined U8G2_USE_HW_SPI
  1060. class U8G2_SSD1306_128X64_ALT0_2_4W_HW_SPI : public U8G2 {
  1061. public: U8G2_SSD1306_128X64_ALT0_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1062. u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1063. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1064. }
  1065. };
  1066. #endif
  1067. class U8G2_SSD1306_128X64_ALT0_2_3W_SW_SPI : public U8G2 {
  1068. public: U8G2_SSD1306_128X64_ALT0_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1069. u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1070. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1071. }
  1072. };
  1073. class U8G2_SSD1306_128X64_ALT0_2_6800 : public U8G2 {
  1074. public: U8G2_SSD1306_128X64_ALT0_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1075. u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1076. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1077. }
  1078. };
  1079. class U8G2_SSD1306_128X64_ALT0_2_8080 : public U8G2 {
  1080. public: U8G2_SSD1306_128X64_ALT0_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1081. u8g2_Setup_ssd1306_128x64_alt0_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1082. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1083. }
  1084. };
  1085. class U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI : public U8G2 {
  1086. public: U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1087. u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1088. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1089. }
  1090. };
  1091. #if defined U8G2_USE_HW_SPI
  1092. class U8G2_SSD1306_128X64_NONAME_F_4W_HW_SPI : public U8G2 {
  1093. public: U8G2_SSD1306_128X64_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1094. u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1095. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1096. }
  1097. };
  1098. #endif
  1099. class U8G2_SSD1306_128X64_NONAME_F_3W_SW_SPI : public U8G2 {
  1100. public: U8G2_SSD1306_128X64_NONAME_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1101. u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1102. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1103. }
  1104. };
  1105. class U8G2_SSD1306_128X64_NONAME_F_6800 : public U8G2 {
  1106. public: U8G2_SSD1306_128X64_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1107. u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1108. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1109. }
  1110. };
  1111. class U8G2_SSD1306_128X64_NONAME_F_8080 : public U8G2 {
  1112. public: U8G2_SSD1306_128X64_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1113. u8g2_Setup_ssd1306_128x64_noname_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1114. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1115. }
  1116. };
  1117. class U8G2_SSD1306_128X64_VCOMH0_F_4W_SW_SPI : public U8G2 {
  1118. public: U8G2_SSD1306_128X64_VCOMH0_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1119. u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1120. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1121. }
  1122. };
  1123. #if defined U8G2_USE_HW_SPI
  1124. class U8G2_SSD1306_128X64_VCOMH0_F_4W_HW_SPI : public U8G2 {
  1125. public: U8G2_SSD1306_128X64_VCOMH0_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1126. u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1127. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1128. }
  1129. };
  1130. #endif
  1131. class U8G2_SSD1306_128X64_VCOMH0_F_3W_SW_SPI : public U8G2 {
  1132. public: U8G2_SSD1306_128X64_VCOMH0_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1133. u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1134. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1135. }
  1136. };
  1137. class U8G2_SSD1306_128X64_VCOMH0_F_6800 : public U8G2 {
  1138. public: U8G2_SSD1306_128X64_VCOMH0_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1139. u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1140. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1141. }
  1142. };
  1143. class U8G2_SSD1306_128X64_VCOMH0_F_8080 : public U8G2 {
  1144. public: U8G2_SSD1306_128X64_VCOMH0_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1145. u8g2_Setup_ssd1306_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1146. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1147. }
  1148. };
  1149. class U8G2_SSD1306_128X64_ALT0_F_4W_SW_SPI : public U8G2 {
  1150. public: U8G2_SSD1306_128X64_ALT0_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1151. u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1152. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1153. }
  1154. };
  1155. #if defined U8G2_USE_HW_SPI
  1156. class U8G2_SSD1306_128X64_ALT0_F_4W_HW_SPI : public U8G2 {
  1157. public: U8G2_SSD1306_128X64_ALT0_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1158. u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1159. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1160. }
  1161. };
  1162. #endif
  1163. class U8G2_SSD1306_128X64_ALT0_F_3W_SW_SPI : public U8G2 {
  1164. public: U8G2_SSD1306_128X64_ALT0_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1165. u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1166. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1167. }
  1168. };
  1169. class U8G2_SSD1306_128X64_ALT0_F_6800 : public U8G2 {
  1170. public: U8G2_SSD1306_128X64_ALT0_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1171. u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1172. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1173. }
  1174. };
  1175. class U8G2_SSD1306_128X64_ALT0_F_8080 : public U8G2 {
  1176. public: U8G2_SSD1306_128X64_ALT0_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1177. u8g2_Setup_ssd1306_128x64_alt0_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1178. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1179. }
  1180. };
  1181. class U8G2_SSD1306_128X64_NONAME_1_SW_I2C : public U8G2 {
  1182. public: U8G2_SSD1306_128X64_NONAME_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1183. u8g2_Setup_ssd1306_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1184. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1185. }
  1186. };
  1187. #if defined U8G2_USE_HW_I2C
  1188. class U8G2_SSD1306_128X64_NONAME_1_HW_I2C : public U8G2 {
  1189. public: U8G2_SSD1306_128X64_NONAME_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1190. u8g2_Setup_ssd1306_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1191. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1192. }
  1193. };
  1194. #endif
  1195. class U8G2_SSD1306_128X64_VCOMH0_1_SW_I2C : public U8G2 {
  1196. public: U8G2_SSD1306_128X64_VCOMH0_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1197. u8g2_Setup_ssd1306_i2c_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1198. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1199. }
  1200. };
  1201. #if defined U8G2_USE_HW_I2C
  1202. class U8G2_SSD1306_128X64_VCOMH0_1_HW_I2C : public U8G2 {
  1203. public: U8G2_SSD1306_128X64_VCOMH0_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1204. u8g2_Setup_ssd1306_i2c_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1205. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1206. }
  1207. };
  1208. #endif
  1209. class U8G2_SSD1306_128X64_ALT0_1_SW_I2C : public U8G2 {
  1210. public: U8G2_SSD1306_128X64_ALT0_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1211. u8g2_Setup_ssd1306_i2c_128x64_alt0_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1212. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1213. }
  1214. };
  1215. #if defined U8G2_USE_HW_I2C
  1216. class U8G2_SSD1306_128X64_ALT0_1_HW_I2C : public U8G2 {
  1217. public: U8G2_SSD1306_128X64_ALT0_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1218. u8g2_Setup_ssd1306_i2c_128x64_alt0_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1219. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1220. }
  1221. };
  1222. #endif
  1223. class U8G2_SSD1306_128X64_NONAME_2_SW_I2C : public U8G2 {
  1224. public: U8G2_SSD1306_128X64_NONAME_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1225. u8g2_Setup_ssd1306_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1226. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1227. }
  1228. };
  1229. #if defined U8G2_USE_HW_I2C
  1230. class U8G2_SSD1306_128X64_NONAME_2_HW_I2C : public U8G2 {
  1231. public: U8G2_SSD1306_128X64_NONAME_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1232. u8g2_Setup_ssd1306_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1233. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1234. }
  1235. };
  1236. #endif
  1237. class U8G2_SSD1306_128X64_VCOMH0_2_SW_I2C : public U8G2 {
  1238. public: U8G2_SSD1306_128X64_VCOMH0_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1239. u8g2_Setup_ssd1306_i2c_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1240. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1241. }
  1242. };
  1243. #if defined U8G2_USE_HW_I2C
  1244. class U8G2_SSD1306_128X64_VCOMH0_2_HW_I2C : public U8G2 {
  1245. public: U8G2_SSD1306_128X64_VCOMH0_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1246. u8g2_Setup_ssd1306_i2c_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1247. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1248. }
  1249. };
  1250. #endif
  1251. class U8G2_SSD1306_128X64_ALT0_2_SW_I2C : public U8G2 {
  1252. public: U8G2_SSD1306_128X64_ALT0_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1253. u8g2_Setup_ssd1306_i2c_128x64_alt0_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1254. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1255. }
  1256. };
  1257. #if defined U8G2_USE_HW_I2C
  1258. class U8G2_SSD1306_128X64_ALT0_2_HW_I2C : public U8G2 {
  1259. public: U8G2_SSD1306_128X64_ALT0_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1260. u8g2_Setup_ssd1306_i2c_128x64_alt0_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1261. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1262. }
  1263. };
  1264. #endif
  1265. class U8G2_SSD1306_128X64_NONAME_F_SW_I2C : public U8G2 {
  1266. public: U8G2_SSD1306_128X64_NONAME_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1267. u8g2_Setup_ssd1306_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1268. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1269. }
  1270. };
  1271. #if defined U8G2_USE_HW_I2C
  1272. class U8G2_SSD1306_128X64_NONAME_F_HW_I2C : public U8G2 {
  1273. public: U8G2_SSD1306_128X64_NONAME_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1274. u8g2_Setup_ssd1306_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1275. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1276. }
  1277. };
  1278. #endif
  1279. class U8G2_SSD1306_128X64_VCOMH0_F_SW_I2C : public U8G2 {
  1280. public: U8G2_SSD1306_128X64_VCOMH0_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1281. u8g2_Setup_ssd1306_i2c_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1282. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1283. }
  1284. };
  1285. #if defined U8G2_USE_HW_I2C
  1286. class U8G2_SSD1306_128X64_VCOMH0_F_HW_I2C : public U8G2 {
  1287. public: U8G2_SSD1306_128X64_VCOMH0_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1288. u8g2_Setup_ssd1306_i2c_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1289. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1290. }
  1291. };
  1292. #endif
  1293. class U8G2_SSD1306_128X64_ALT0_F_SW_I2C : public U8G2 {
  1294. public: U8G2_SSD1306_128X64_ALT0_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1295. u8g2_Setup_ssd1306_i2c_128x64_alt0_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1296. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1297. }
  1298. };
  1299. #if defined U8G2_USE_HW_I2C
  1300. class U8G2_SSD1306_128X64_ALT0_F_HW_I2C : public U8G2 {
  1301. public: U8G2_SSD1306_128X64_ALT0_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1302. u8g2_Setup_ssd1306_i2c_128x64_alt0_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1303. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1304. }
  1305. };
  1306. #endif
  1307. class U8G2_SSD1306_72X40_ER_1_4W_SW_SPI : public U8G2 {
  1308. public: U8G2_SSD1306_72X40_ER_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1309. u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1310. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1311. }
  1312. };
  1313. #if defined U8G2_USE_HW_SPI
  1314. class U8G2_SSD1306_72X40_ER_1_4W_HW_SPI : public U8G2 {
  1315. public: U8G2_SSD1306_72X40_ER_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1316. u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1317. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1318. }
  1319. };
  1320. #endif
  1321. class U8G2_SSD1306_72X40_ER_1_3W_SW_SPI : public U8G2 {
  1322. public: U8G2_SSD1306_72X40_ER_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1323. u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1324. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1325. }
  1326. };
  1327. class U8G2_SSD1306_72X40_ER_1_6800 : public U8G2 {
  1328. public: U8G2_SSD1306_72X40_ER_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1329. u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1330. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1331. }
  1332. };
  1333. class U8G2_SSD1306_72X40_ER_1_8080 : public U8G2 {
  1334. public: U8G2_SSD1306_72X40_ER_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1335. u8g2_Setup_ssd1306_72x40_er_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1336. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1337. }
  1338. };
  1339. class U8G2_SSD1306_72X40_ER_2_4W_SW_SPI : public U8G2 {
  1340. public: U8G2_SSD1306_72X40_ER_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1341. u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1342. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1343. }
  1344. };
  1345. #if defined U8G2_USE_HW_SPI
  1346. class U8G2_SSD1306_72X40_ER_2_4W_HW_SPI : public U8G2 {
  1347. public: U8G2_SSD1306_72X40_ER_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1348. u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1349. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1350. }
  1351. };
  1352. #endif
  1353. class U8G2_SSD1306_72X40_ER_2_3W_SW_SPI : public U8G2 {
  1354. public: U8G2_SSD1306_72X40_ER_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1355. u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1356. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1357. }
  1358. };
  1359. class U8G2_SSD1306_72X40_ER_2_6800 : public U8G2 {
  1360. public: U8G2_SSD1306_72X40_ER_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1361. u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1362. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1363. }
  1364. };
  1365. class U8G2_SSD1306_72X40_ER_2_8080 : public U8G2 {
  1366. public: U8G2_SSD1306_72X40_ER_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1367. u8g2_Setup_ssd1306_72x40_er_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1368. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1369. }
  1370. };
  1371. class U8G2_SSD1306_72X40_ER_F_4W_SW_SPI : public U8G2 {
  1372. public: U8G2_SSD1306_72X40_ER_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1373. u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1374. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1375. }
  1376. };
  1377. #if defined U8G2_USE_HW_SPI
  1378. class U8G2_SSD1306_72X40_ER_F_4W_HW_SPI : public U8G2 {
  1379. public: U8G2_SSD1306_72X40_ER_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1380. u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1381. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1382. }
  1383. };
  1384. #endif
  1385. class U8G2_SSD1306_72X40_ER_F_3W_SW_SPI : public U8G2 {
  1386. public: U8G2_SSD1306_72X40_ER_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1387. u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1388. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1389. }
  1390. };
  1391. class U8G2_SSD1306_72X40_ER_F_6800 : public U8G2 {
  1392. public: U8G2_SSD1306_72X40_ER_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1393. u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1394. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1395. }
  1396. };
  1397. class U8G2_SSD1306_72X40_ER_F_8080 : public U8G2 {
  1398. public: U8G2_SSD1306_72X40_ER_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1399. u8g2_Setup_ssd1306_72x40_er_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1400. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1401. }
  1402. };
  1403. class U8G2_SSD1306_72X40_ER_1_SW_I2C : public U8G2 {
  1404. public: U8G2_SSD1306_72X40_ER_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1405. u8g2_Setup_ssd1306_i2c_72x40_er_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1406. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1407. }
  1408. };
  1409. #if defined U8G2_USE_HW_I2C
  1410. class U8G2_SSD1306_72X40_ER_1_HW_I2C : public U8G2 {
  1411. public: U8G2_SSD1306_72X40_ER_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1412. u8g2_Setup_ssd1306_i2c_72x40_er_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1413. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1414. }
  1415. };
  1416. #endif
  1417. class U8G2_SSD1306_72X40_ER_2_SW_I2C : public U8G2 {
  1418. public: U8G2_SSD1306_72X40_ER_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1419. u8g2_Setup_ssd1306_i2c_72x40_er_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1420. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1421. }
  1422. };
  1423. #if defined U8G2_USE_HW_I2C
  1424. class U8G2_SSD1306_72X40_ER_2_HW_I2C : public U8G2 {
  1425. public: U8G2_SSD1306_72X40_ER_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1426. u8g2_Setup_ssd1306_i2c_72x40_er_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1427. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1428. }
  1429. };
  1430. #endif
  1431. class U8G2_SSD1306_72X40_ER_F_SW_I2C : public U8G2 {
  1432. public: U8G2_SSD1306_72X40_ER_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1433. u8g2_Setup_ssd1306_i2c_72x40_er_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1434. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1435. }
  1436. };
  1437. #if defined U8G2_USE_HW_I2C
  1438. class U8G2_SSD1306_72X40_ER_F_HW_I2C : public U8G2 {
  1439. public: U8G2_SSD1306_72X40_ER_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1440. u8g2_Setup_ssd1306_i2c_72x40_er_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1441. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1442. }
  1443. };
  1444. #endif
  1445. class U8G2_SH1106_128X64_NONAME_1_4W_SW_SPI : public U8G2 {
  1446. public: U8G2_SH1106_128X64_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1447. u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1448. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1449. }
  1450. };
  1451. #if defined U8G2_USE_HW_SPI
  1452. class U8G2_SH1106_128X64_NONAME_1_4W_HW_SPI : public U8G2 {
  1453. public: U8G2_SH1106_128X64_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1454. u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1455. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1456. }
  1457. };
  1458. #endif
  1459. class U8G2_SH1106_128X64_NONAME_1_3W_SW_SPI : public U8G2 {
  1460. public: U8G2_SH1106_128X64_NONAME_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1461. u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1462. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1463. }
  1464. };
  1465. class U8G2_SH1106_128X64_NONAME_1_6800 : public U8G2 {
  1466. public: U8G2_SH1106_128X64_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1467. u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1468. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1469. }
  1470. };
  1471. class U8G2_SH1106_128X64_NONAME_1_8080 : public U8G2 {
  1472. public: U8G2_SH1106_128X64_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1473. u8g2_Setup_sh1106_128x64_noname_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1474. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1475. }
  1476. };
  1477. class U8G2_SH1106_128X64_VCOMH0_1_4W_SW_SPI : public U8G2 {
  1478. public: U8G2_SH1106_128X64_VCOMH0_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1479. u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1480. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1481. }
  1482. };
  1483. #if defined U8G2_USE_HW_SPI
  1484. class U8G2_SH1106_128X64_VCOMH0_1_4W_HW_SPI : public U8G2 {
  1485. public: U8G2_SH1106_128X64_VCOMH0_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1486. u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1487. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1488. }
  1489. };
  1490. #endif
  1491. class U8G2_SH1106_128X64_VCOMH0_1_3W_SW_SPI : public U8G2 {
  1492. public: U8G2_SH1106_128X64_VCOMH0_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1493. u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1494. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1495. }
  1496. };
  1497. class U8G2_SH1106_128X64_VCOMH0_1_6800 : public U8G2 {
  1498. public: U8G2_SH1106_128X64_VCOMH0_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1499. u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1500. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1501. }
  1502. };
  1503. class U8G2_SH1106_128X64_VCOMH0_1_8080 : public U8G2 {
  1504. public: U8G2_SH1106_128X64_VCOMH0_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1505. u8g2_Setup_sh1106_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1506. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1507. }
  1508. };
  1509. class U8G2_SH1106_128X64_WINSTAR_1_4W_SW_SPI : public U8G2 {
  1510. public: U8G2_SH1106_128X64_WINSTAR_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1511. u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1512. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1513. }
  1514. };
  1515. #if defined U8G2_USE_HW_SPI
  1516. class U8G2_SH1106_128X64_WINSTAR_1_4W_HW_SPI : public U8G2 {
  1517. public: U8G2_SH1106_128X64_WINSTAR_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1518. u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1519. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1520. }
  1521. };
  1522. #endif
  1523. class U8G2_SH1106_128X64_WINSTAR_1_3W_SW_SPI : public U8G2 {
  1524. public: U8G2_SH1106_128X64_WINSTAR_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1525. u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1526. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1527. }
  1528. };
  1529. class U8G2_SH1106_128X64_WINSTAR_1_6800 : public U8G2 {
  1530. public: U8G2_SH1106_128X64_WINSTAR_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1531. u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1532. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1533. }
  1534. };
  1535. class U8G2_SH1106_128X64_WINSTAR_1_8080 : public U8G2 {
  1536. public: U8G2_SH1106_128X64_WINSTAR_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1537. u8g2_Setup_sh1106_128x64_winstar_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1538. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1539. }
  1540. };
  1541. class U8G2_SH1106_128X64_NONAME_2_4W_SW_SPI : public U8G2 {
  1542. public: U8G2_SH1106_128X64_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1543. u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1544. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1545. }
  1546. };
  1547. #if defined U8G2_USE_HW_SPI
  1548. class U8G2_SH1106_128X64_NONAME_2_4W_HW_SPI : public U8G2 {
  1549. public: U8G2_SH1106_128X64_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1550. u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1551. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1552. }
  1553. };
  1554. #endif
  1555. class U8G2_SH1106_128X64_NONAME_2_3W_SW_SPI : public U8G2 {
  1556. public: U8G2_SH1106_128X64_NONAME_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1557. u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1558. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1559. }
  1560. };
  1561. class U8G2_SH1106_128X64_NONAME_2_6800 : public U8G2 {
  1562. public: U8G2_SH1106_128X64_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1563. u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1564. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1565. }
  1566. };
  1567. class U8G2_SH1106_128X64_NONAME_2_8080 : public U8G2 {
  1568. public: U8G2_SH1106_128X64_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1569. u8g2_Setup_sh1106_128x64_noname_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1570. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1571. }
  1572. };
  1573. class U8G2_SH1106_128X64_VCOMH0_2_4W_SW_SPI : public U8G2 {
  1574. public: U8G2_SH1106_128X64_VCOMH0_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1575. u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1576. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1577. }
  1578. };
  1579. #if defined U8G2_USE_HW_SPI
  1580. class U8G2_SH1106_128X64_VCOMH0_2_4W_HW_SPI : public U8G2 {
  1581. public: U8G2_SH1106_128X64_VCOMH0_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1582. u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1583. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1584. }
  1585. };
  1586. #endif
  1587. class U8G2_SH1106_128X64_VCOMH0_2_3W_SW_SPI : public U8G2 {
  1588. public: U8G2_SH1106_128X64_VCOMH0_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1589. u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1590. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1591. }
  1592. };
  1593. class U8G2_SH1106_128X64_VCOMH0_2_6800 : public U8G2 {
  1594. public: U8G2_SH1106_128X64_VCOMH0_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1595. u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1596. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1597. }
  1598. };
  1599. class U8G2_SH1106_128X64_VCOMH0_2_8080 : public U8G2 {
  1600. public: U8G2_SH1106_128X64_VCOMH0_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1601. u8g2_Setup_sh1106_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1602. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1603. }
  1604. };
  1605. class U8G2_SH1106_128X64_WINSTAR_2_4W_SW_SPI : public U8G2 {
  1606. public: U8G2_SH1106_128X64_WINSTAR_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1607. u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1608. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1609. }
  1610. };
  1611. #if defined U8G2_USE_HW_SPI
  1612. class U8G2_SH1106_128X64_WINSTAR_2_4W_HW_SPI : public U8G2 {
  1613. public: U8G2_SH1106_128X64_WINSTAR_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1614. u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1615. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1616. }
  1617. };
  1618. #endif
  1619. class U8G2_SH1106_128X64_WINSTAR_2_3W_SW_SPI : public U8G2 {
  1620. public: U8G2_SH1106_128X64_WINSTAR_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1621. u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1622. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1623. }
  1624. };
  1625. class U8G2_SH1106_128X64_WINSTAR_2_6800 : public U8G2 {
  1626. public: U8G2_SH1106_128X64_WINSTAR_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1627. u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1628. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1629. }
  1630. };
  1631. class U8G2_SH1106_128X64_WINSTAR_2_8080 : public U8G2 {
  1632. public: U8G2_SH1106_128X64_WINSTAR_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1633. u8g2_Setup_sh1106_128x64_winstar_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1634. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1635. }
  1636. };
  1637. class U8G2_SH1106_128X64_NONAME_F_4W_SW_SPI : public U8G2 {
  1638. public: U8G2_SH1106_128X64_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1639. u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1640. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1641. }
  1642. };
  1643. #if defined U8G2_USE_HW_SPI
  1644. class U8G2_SH1106_128X64_NONAME_F_4W_HW_SPI : public U8G2 {
  1645. public: U8G2_SH1106_128X64_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1646. u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1647. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1648. }
  1649. };
  1650. #endif
  1651. class U8G2_SH1106_128X64_NONAME_F_3W_SW_SPI : public U8G2 {
  1652. public: U8G2_SH1106_128X64_NONAME_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1653. u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1654. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1655. }
  1656. };
  1657. class U8G2_SH1106_128X64_NONAME_F_6800 : public U8G2 {
  1658. public: U8G2_SH1106_128X64_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1659. u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1660. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1661. }
  1662. };
  1663. class U8G2_SH1106_128X64_NONAME_F_8080 : public U8G2 {
  1664. public: U8G2_SH1106_128X64_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1665. u8g2_Setup_sh1106_128x64_noname_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1666. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1667. }
  1668. };
  1669. class U8G2_SH1106_128X64_VCOMH0_F_4W_SW_SPI : public U8G2 {
  1670. public: U8G2_SH1106_128X64_VCOMH0_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1671. u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1672. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1673. }
  1674. };
  1675. #if defined U8G2_USE_HW_SPI
  1676. class U8G2_SH1106_128X64_VCOMH0_F_4W_HW_SPI : public U8G2 {
  1677. public: U8G2_SH1106_128X64_VCOMH0_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1678. u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1679. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1680. }
  1681. };
  1682. #endif
  1683. class U8G2_SH1106_128X64_VCOMH0_F_3W_SW_SPI : public U8G2 {
  1684. public: U8G2_SH1106_128X64_VCOMH0_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1685. u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1686. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1687. }
  1688. };
  1689. class U8G2_SH1106_128X64_VCOMH0_F_6800 : public U8G2 {
  1690. public: U8G2_SH1106_128X64_VCOMH0_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1691. u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1692. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1693. }
  1694. };
  1695. class U8G2_SH1106_128X64_VCOMH0_F_8080 : public U8G2 {
  1696. public: U8G2_SH1106_128X64_VCOMH0_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1697. u8g2_Setup_sh1106_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1698. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1699. }
  1700. };
  1701. class U8G2_SH1106_128X64_WINSTAR_F_4W_SW_SPI : public U8G2 {
  1702. public: U8G2_SH1106_128X64_WINSTAR_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1703. u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1704. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1705. }
  1706. };
  1707. #if defined U8G2_USE_HW_SPI
  1708. class U8G2_SH1106_128X64_WINSTAR_F_4W_HW_SPI : public U8G2 {
  1709. public: U8G2_SH1106_128X64_WINSTAR_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1710. u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1711. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1712. }
  1713. };
  1714. #endif
  1715. class U8G2_SH1106_128X64_WINSTAR_F_3W_SW_SPI : public U8G2 {
  1716. public: U8G2_SH1106_128X64_WINSTAR_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1717. u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1718. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1719. }
  1720. };
  1721. class U8G2_SH1106_128X64_WINSTAR_F_6800 : public U8G2 {
  1722. public: U8G2_SH1106_128X64_WINSTAR_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1723. u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1724. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1725. }
  1726. };
  1727. class U8G2_SH1106_128X64_WINSTAR_F_8080 : public U8G2 {
  1728. public: U8G2_SH1106_128X64_WINSTAR_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1729. u8g2_Setup_sh1106_128x64_winstar_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1730. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1731. }
  1732. };
  1733. class U8G2_SH1106_128X64_NONAME_1_SW_I2C : public U8G2 {
  1734. public: U8G2_SH1106_128X64_NONAME_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1735. u8g2_Setup_sh1106_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1736. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1737. }
  1738. };
  1739. #if defined U8G2_USE_HW_I2C
  1740. class U8G2_SH1106_128X64_NONAME_1_HW_I2C : public U8G2 {
  1741. public: U8G2_SH1106_128X64_NONAME_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1742. u8g2_Setup_sh1106_i2c_128x64_noname_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1743. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1744. }
  1745. };
  1746. #endif
  1747. class U8G2_SH1106_128X64_VCOMH0_1_SW_I2C : public U8G2 {
  1748. public: U8G2_SH1106_128X64_VCOMH0_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1749. u8g2_Setup_sh1106_i2c_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1750. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1751. }
  1752. };
  1753. #if defined U8G2_USE_HW_I2C
  1754. class U8G2_SH1106_128X64_VCOMH0_1_HW_I2C : public U8G2 {
  1755. public: U8G2_SH1106_128X64_VCOMH0_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1756. u8g2_Setup_sh1106_i2c_128x64_vcomh0_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1757. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1758. }
  1759. };
  1760. #endif
  1761. class U8G2_SH1106_128X64_WINSTAR_1_SW_I2C : public U8G2 {
  1762. public: U8G2_SH1106_128X64_WINSTAR_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1763. u8g2_Setup_sh1106_i2c_128x64_winstar_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1764. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1765. }
  1766. };
  1767. #if defined U8G2_USE_HW_I2C
  1768. class U8G2_SH1106_128X64_WINSTAR_1_HW_I2C : public U8G2 {
  1769. public: U8G2_SH1106_128X64_WINSTAR_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1770. u8g2_Setup_sh1106_i2c_128x64_winstar_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1771. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1772. }
  1773. };
  1774. #endif
  1775. class U8G2_SH1106_128X64_NONAME_2_SW_I2C : public U8G2 {
  1776. public: U8G2_SH1106_128X64_NONAME_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1777. u8g2_Setup_sh1106_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1778. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1779. }
  1780. };
  1781. #if defined U8G2_USE_HW_I2C
  1782. class U8G2_SH1106_128X64_NONAME_2_HW_I2C : public U8G2 {
  1783. public: U8G2_SH1106_128X64_NONAME_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1784. u8g2_Setup_sh1106_i2c_128x64_noname_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1785. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1786. }
  1787. };
  1788. #endif
  1789. class U8G2_SH1106_128X64_VCOMH0_2_SW_I2C : public U8G2 {
  1790. public: U8G2_SH1106_128X64_VCOMH0_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1791. u8g2_Setup_sh1106_i2c_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1792. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1793. }
  1794. };
  1795. #if defined U8G2_USE_HW_I2C
  1796. class U8G2_SH1106_128X64_VCOMH0_2_HW_I2C : public U8G2 {
  1797. public: U8G2_SH1106_128X64_VCOMH0_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1798. u8g2_Setup_sh1106_i2c_128x64_vcomh0_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1799. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1800. }
  1801. };
  1802. #endif
  1803. class U8G2_SH1106_128X64_WINSTAR_2_SW_I2C : public U8G2 {
  1804. public: U8G2_SH1106_128X64_WINSTAR_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1805. u8g2_Setup_sh1106_i2c_128x64_winstar_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1806. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1807. }
  1808. };
  1809. #if defined U8G2_USE_HW_I2C
  1810. class U8G2_SH1106_128X64_WINSTAR_2_HW_I2C : public U8G2 {
  1811. public: U8G2_SH1106_128X64_WINSTAR_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1812. u8g2_Setup_sh1106_i2c_128x64_winstar_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1813. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1814. }
  1815. };
  1816. #endif
  1817. class U8G2_SH1106_128X64_NONAME_F_SW_I2C : public U8G2 {
  1818. public: U8G2_SH1106_128X64_NONAME_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1819. u8g2_Setup_sh1106_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1820. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1821. }
  1822. };
  1823. #if defined U8G2_USE_HW_I2C
  1824. class U8G2_SH1106_128X64_NONAME_F_HW_I2C : public U8G2 {
  1825. public: U8G2_SH1106_128X64_NONAME_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1826. u8g2_Setup_sh1106_i2c_128x64_noname_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1827. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1828. }
  1829. };
  1830. #endif
  1831. class U8G2_SH1106_128X64_VCOMH0_F_SW_I2C : public U8G2 {
  1832. public: U8G2_SH1106_128X64_VCOMH0_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1833. u8g2_Setup_sh1106_i2c_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1834. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1835. }
  1836. };
  1837. #if defined U8G2_USE_HW_I2C
  1838. class U8G2_SH1106_128X64_VCOMH0_F_HW_I2C : public U8G2 {
  1839. public: U8G2_SH1106_128X64_VCOMH0_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1840. u8g2_Setup_sh1106_i2c_128x64_vcomh0_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1841. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1842. }
  1843. };
  1844. #endif
  1845. class U8G2_SH1106_128X64_WINSTAR_F_SW_I2C : public U8G2 {
  1846. public: U8G2_SH1106_128X64_WINSTAR_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1847. u8g2_Setup_sh1106_i2c_128x64_winstar_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1848. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1849. }
  1850. };
  1851. #if defined U8G2_USE_HW_I2C
  1852. class U8G2_SH1106_128X64_WINSTAR_F_HW_I2C : public U8G2 {
  1853. public: U8G2_SH1106_128X64_WINSTAR_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1854. u8g2_Setup_sh1106_i2c_128x64_winstar_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1855. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1856. }
  1857. };
  1858. #endif
  1859. class U8G2_SH1106_72X40_WISE_1_4W_SW_SPI : public U8G2 {
  1860. public: U8G2_SH1106_72X40_WISE_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1861. u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1862. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1863. }
  1864. };
  1865. #if defined U8G2_USE_HW_SPI
  1866. class U8G2_SH1106_72X40_WISE_1_4W_HW_SPI : public U8G2 {
  1867. public: U8G2_SH1106_72X40_WISE_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1868. u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1869. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1870. }
  1871. };
  1872. #endif
  1873. class U8G2_SH1106_72X40_WISE_1_3W_SW_SPI : public U8G2 {
  1874. public: U8G2_SH1106_72X40_WISE_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1875. u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1876. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1877. }
  1878. };
  1879. class U8G2_SH1106_72X40_WISE_1_6800 : public U8G2 {
  1880. public: U8G2_SH1106_72X40_WISE_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1881. u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1882. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1883. }
  1884. };
  1885. class U8G2_SH1106_72X40_WISE_1_8080 : public U8G2 {
  1886. public: U8G2_SH1106_72X40_WISE_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1887. u8g2_Setup_sh1106_72x40_wise_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1888. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1889. }
  1890. };
  1891. class U8G2_SH1106_72X40_WISE_2_4W_SW_SPI : public U8G2 {
  1892. public: U8G2_SH1106_72X40_WISE_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1893. u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1894. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1895. }
  1896. };
  1897. #if defined U8G2_USE_HW_SPI
  1898. class U8G2_SH1106_72X40_WISE_2_4W_HW_SPI : public U8G2 {
  1899. public: U8G2_SH1106_72X40_WISE_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1900. u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1901. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1902. }
  1903. };
  1904. #endif
  1905. class U8G2_SH1106_72X40_WISE_2_3W_SW_SPI : public U8G2 {
  1906. public: U8G2_SH1106_72X40_WISE_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1907. u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1908. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1909. }
  1910. };
  1911. class U8G2_SH1106_72X40_WISE_2_6800 : public U8G2 {
  1912. public: U8G2_SH1106_72X40_WISE_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1913. u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1914. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1915. }
  1916. };
  1917. class U8G2_SH1106_72X40_WISE_2_8080 : public U8G2 {
  1918. public: U8G2_SH1106_72X40_WISE_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1919. u8g2_Setup_sh1106_72x40_wise_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1920. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1921. }
  1922. };
  1923. class U8G2_SH1106_72X40_WISE_F_4W_SW_SPI : public U8G2 {
  1924. public: U8G2_SH1106_72X40_WISE_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1925. u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1926. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  1927. }
  1928. };
  1929. #if defined U8G2_USE_HW_SPI
  1930. class U8G2_SH1106_72X40_WISE_F_4W_HW_SPI : public U8G2 {
  1931. public: U8G2_SH1106_72X40_WISE_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1932. u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  1933. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  1934. }
  1935. };
  1936. #endif
  1937. class U8G2_SH1106_72X40_WISE_F_3W_SW_SPI : public U8G2 {
  1938. public: U8G2_SH1106_72X40_WISE_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1939. u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  1940. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  1941. }
  1942. };
  1943. class U8G2_SH1106_72X40_WISE_F_6800 : public U8G2 {
  1944. public: U8G2_SH1106_72X40_WISE_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1945. u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  1946. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1947. }
  1948. };
  1949. class U8G2_SH1106_72X40_WISE_F_8080 : public U8G2 {
  1950. public: U8G2_SH1106_72X40_WISE_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1951. u8g2_Setup_sh1106_72x40_wise_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  1952. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  1953. }
  1954. };
  1955. class U8G2_SH1106_72X40_WISE_1_SW_I2C : public U8G2 {
  1956. public: U8G2_SH1106_72X40_WISE_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1957. u8g2_Setup_sh1106_i2c_72x40_wise_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1958. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1959. }
  1960. };
  1961. #if defined U8G2_USE_HW_I2C
  1962. class U8G2_SH1106_72X40_WISE_1_HW_I2C : public U8G2 {
  1963. public: U8G2_SH1106_72X40_WISE_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1964. u8g2_Setup_sh1106_i2c_72x40_wise_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1965. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1966. }
  1967. };
  1968. #endif
  1969. class U8G2_SH1106_72X40_WISE_2_SW_I2C : public U8G2 {
  1970. public: U8G2_SH1106_72X40_WISE_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1971. u8g2_Setup_sh1106_i2c_72x40_wise_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1972. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1973. }
  1974. };
  1975. #if defined U8G2_USE_HW_I2C
  1976. class U8G2_SH1106_72X40_WISE_2_HW_I2C : public U8G2 {
  1977. public: U8G2_SH1106_72X40_WISE_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1978. u8g2_Setup_sh1106_i2c_72x40_wise_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1979. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1980. }
  1981. };
  1982. #endif
  1983. class U8G2_SH1106_72X40_WISE_F_SW_I2C : public U8G2 {
  1984. public: U8G2_SH1106_72X40_WISE_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1985. u8g2_Setup_sh1106_i2c_72x40_wise_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  1986. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  1987. }
  1988. };
  1989. #if defined U8G2_USE_HW_I2C
  1990. class U8G2_SH1106_72X40_WISE_F_HW_I2C : public U8G2 {
  1991. public: U8G2_SH1106_72X40_WISE_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  1992. u8g2_Setup_sh1106_i2c_72x40_wise_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  1993. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  1994. }
  1995. };
  1996. #endif
  1997. class U8G2_SH1106_64X32_1_4W_SW_SPI : public U8G2 {
  1998. public: U8G2_SH1106_64X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  1999. u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2000. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2001. }
  2002. };
  2003. #if defined U8G2_USE_HW_SPI
  2004. class U8G2_SH1106_64X32_1_4W_HW_SPI : public U8G2 {
  2005. public: U8G2_SH1106_64X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2006. u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2007. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2008. }
  2009. };
  2010. #endif
  2011. class U8G2_SH1106_64X32_1_3W_SW_SPI : public U8G2 {
  2012. public: U8G2_SH1106_64X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2013. u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2014. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2015. }
  2016. };
  2017. class U8G2_SH1106_64X32_1_6800 : public U8G2 {
  2018. public: U8G2_SH1106_64X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2019. u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2020. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2021. }
  2022. };
  2023. class U8G2_SH1106_64X32_1_8080 : public U8G2 {
  2024. public: U8G2_SH1106_64X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2025. u8g2_Setup_sh1106_64x32_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2026. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2027. }
  2028. };
  2029. class U8G2_SH1106_64X32_2_4W_SW_SPI : public U8G2 {
  2030. public: U8G2_SH1106_64X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2031. u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2032. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2033. }
  2034. };
  2035. #if defined U8G2_USE_HW_SPI
  2036. class U8G2_SH1106_64X32_2_4W_HW_SPI : public U8G2 {
  2037. public: U8G2_SH1106_64X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2038. u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2039. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2040. }
  2041. };
  2042. #endif
  2043. class U8G2_SH1106_64X32_2_3W_SW_SPI : public U8G2 {
  2044. public: U8G2_SH1106_64X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2045. u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2046. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2047. }
  2048. };
  2049. class U8G2_SH1106_64X32_2_6800 : public U8G2 {
  2050. public: U8G2_SH1106_64X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2051. u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2052. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2053. }
  2054. };
  2055. class U8G2_SH1106_64X32_2_8080 : public U8G2 {
  2056. public: U8G2_SH1106_64X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2057. u8g2_Setup_sh1106_64x32_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2058. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2059. }
  2060. };
  2061. class U8G2_SH1106_64X32_F_4W_SW_SPI : public U8G2 {
  2062. public: U8G2_SH1106_64X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2063. u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2064. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2065. }
  2066. };
  2067. #if defined U8G2_USE_HW_SPI
  2068. class U8G2_SH1106_64X32_F_4W_HW_SPI : public U8G2 {
  2069. public: U8G2_SH1106_64X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2070. u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2071. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2072. }
  2073. };
  2074. #endif
  2075. class U8G2_SH1106_64X32_F_3W_SW_SPI : public U8G2 {
  2076. public: U8G2_SH1106_64X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2077. u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2078. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2079. }
  2080. };
  2081. class U8G2_SH1106_64X32_F_6800 : public U8G2 {
  2082. public: U8G2_SH1106_64X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2083. u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2084. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2085. }
  2086. };
  2087. class U8G2_SH1106_64X32_F_8080 : public U8G2 {
  2088. public: U8G2_SH1106_64X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2089. u8g2_Setup_sh1106_64x32_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2090. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2091. }
  2092. };
  2093. class U8G2_SH1106_64X32_1_SW_I2C : public U8G2 {
  2094. public: U8G2_SH1106_64X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2095. u8g2_Setup_sh1106_i2c_64x32_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2096. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2097. }
  2098. };
  2099. #if defined U8G2_USE_HW_I2C
  2100. class U8G2_SH1106_64X32_1_HW_I2C : public U8G2 {
  2101. public: U8G2_SH1106_64X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2102. u8g2_Setup_sh1106_i2c_64x32_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2103. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2104. }
  2105. };
  2106. #endif
  2107. class U8G2_SH1106_64X32_2_SW_I2C : public U8G2 {
  2108. public: U8G2_SH1106_64X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2109. u8g2_Setup_sh1106_i2c_64x32_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2110. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2111. }
  2112. };
  2113. #if defined U8G2_USE_HW_I2C
  2114. class U8G2_SH1106_64X32_2_HW_I2C : public U8G2 {
  2115. public: U8G2_SH1106_64X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2116. u8g2_Setup_sh1106_i2c_64x32_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2117. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2118. }
  2119. };
  2120. #endif
  2121. class U8G2_SH1106_64X32_F_SW_I2C : public U8G2 {
  2122. public: U8G2_SH1106_64X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2123. u8g2_Setup_sh1106_i2c_64x32_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2124. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2125. }
  2126. };
  2127. #if defined U8G2_USE_HW_I2C
  2128. class U8G2_SH1106_64X32_F_HW_I2C : public U8G2 {
  2129. public: U8G2_SH1106_64X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2130. u8g2_Setup_sh1106_i2c_64x32_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2131. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2132. }
  2133. };
  2134. #endif
  2135. class U8G2_SH1107_64X128_1_4W_SW_SPI : public U8G2 {
  2136. public: U8G2_SH1107_64X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2137. u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2138. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2139. }
  2140. };
  2141. #if defined U8G2_USE_HW_SPI
  2142. class U8G2_SH1107_64X128_1_4W_HW_SPI : public U8G2 {
  2143. public: U8G2_SH1107_64X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2144. u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2145. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2146. }
  2147. };
  2148. #endif
  2149. class U8G2_SH1107_64X128_1_3W_SW_SPI : public U8G2 {
  2150. public: U8G2_SH1107_64X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2151. u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2152. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2153. }
  2154. };
  2155. class U8G2_SH1107_64X128_1_6800 : public U8G2 {
  2156. public: U8G2_SH1107_64X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2157. u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2158. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2159. }
  2160. };
  2161. class U8G2_SH1107_64X128_1_8080 : public U8G2 {
  2162. public: U8G2_SH1107_64X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2163. u8g2_Setup_sh1107_64x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2164. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2165. }
  2166. };
  2167. class U8G2_SH1107_64X128_2_4W_SW_SPI : public U8G2 {
  2168. public: U8G2_SH1107_64X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2169. u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2170. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2171. }
  2172. };
  2173. #if defined U8G2_USE_HW_SPI
  2174. class U8G2_SH1107_64X128_2_4W_HW_SPI : public U8G2 {
  2175. public: U8G2_SH1107_64X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2176. u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2177. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2178. }
  2179. };
  2180. #endif
  2181. class U8G2_SH1107_64X128_2_3W_SW_SPI : public U8G2 {
  2182. public: U8G2_SH1107_64X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2183. u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2184. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2185. }
  2186. };
  2187. class U8G2_SH1107_64X128_2_6800 : public U8G2 {
  2188. public: U8G2_SH1107_64X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2189. u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2190. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2191. }
  2192. };
  2193. class U8G2_SH1107_64X128_2_8080 : public U8G2 {
  2194. public: U8G2_SH1107_64X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2195. u8g2_Setup_sh1107_64x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2196. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2197. }
  2198. };
  2199. class U8G2_SH1107_64X128_F_4W_SW_SPI : public U8G2 {
  2200. public: U8G2_SH1107_64X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2201. u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2202. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2203. }
  2204. };
  2205. #if defined U8G2_USE_HW_SPI
  2206. class U8G2_SH1107_64X128_F_4W_HW_SPI : public U8G2 {
  2207. public: U8G2_SH1107_64X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2208. u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2209. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2210. }
  2211. };
  2212. #endif
  2213. class U8G2_SH1107_64X128_F_3W_SW_SPI : public U8G2 {
  2214. public: U8G2_SH1107_64X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2215. u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2216. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2217. }
  2218. };
  2219. class U8G2_SH1107_64X128_F_6800 : public U8G2 {
  2220. public: U8G2_SH1107_64X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2221. u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2222. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2223. }
  2224. };
  2225. class U8G2_SH1107_64X128_F_8080 : public U8G2 {
  2226. public: U8G2_SH1107_64X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2227. u8g2_Setup_sh1107_64x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2228. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2229. }
  2230. };
  2231. class U8G2_SH1107_64X128_1_SW_I2C : public U8G2 {
  2232. public: U8G2_SH1107_64X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2233. u8g2_Setup_sh1107_i2c_64x128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2234. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2235. }
  2236. };
  2237. #if defined U8G2_USE_HW_I2C
  2238. class U8G2_SH1107_64X128_1_HW_I2C : public U8G2 {
  2239. public: U8G2_SH1107_64X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2240. u8g2_Setup_sh1107_i2c_64x128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2241. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2242. }
  2243. };
  2244. #endif
  2245. class U8G2_SH1107_64X128_2_SW_I2C : public U8G2 {
  2246. public: U8G2_SH1107_64X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2247. u8g2_Setup_sh1107_i2c_64x128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2248. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2249. }
  2250. };
  2251. #if defined U8G2_USE_HW_I2C
  2252. class U8G2_SH1107_64X128_2_HW_I2C : public U8G2 {
  2253. public: U8G2_SH1107_64X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2254. u8g2_Setup_sh1107_i2c_64x128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2255. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2256. }
  2257. };
  2258. #endif
  2259. class U8G2_SH1107_64X128_F_SW_I2C : public U8G2 {
  2260. public: U8G2_SH1107_64X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2261. u8g2_Setup_sh1107_i2c_64x128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2262. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2263. }
  2264. };
  2265. #if defined U8G2_USE_HW_I2C
  2266. class U8G2_SH1107_64X128_F_HW_I2C : public U8G2 {
  2267. public: U8G2_SH1107_64X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2268. u8g2_Setup_sh1107_i2c_64x128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2269. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2270. }
  2271. };
  2272. #endif
  2273. class U8G2_SH1107_SEEED_96X96_1_4W_SW_SPI : public U8G2 {
  2274. public: U8G2_SH1107_SEEED_96X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2275. u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2276. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2277. }
  2278. };
  2279. #if defined U8G2_USE_HW_SPI
  2280. class U8G2_SH1107_SEEED_96X96_1_4W_HW_SPI : public U8G2 {
  2281. public: U8G2_SH1107_SEEED_96X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2282. u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2283. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2284. }
  2285. };
  2286. #endif
  2287. class U8G2_SH1107_SEEED_96X96_1_3W_SW_SPI : public U8G2 {
  2288. public: U8G2_SH1107_SEEED_96X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2289. u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2290. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2291. }
  2292. };
  2293. class U8G2_SH1107_SEEED_96X96_1_6800 : public U8G2 {
  2294. public: U8G2_SH1107_SEEED_96X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2295. u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2296. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2297. }
  2298. };
  2299. class U8G2_SH1107_SEEED_96X96_1_8080 : public U8G2 {
  2300. public: U8G2_SH1107_SEEED_96X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2301. u8g2_Setup_sh1107_seeed_96x96_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2302. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2303. }
  2304. };
  2305. class U8G2_SH1107_SEEED_96X96_2_4W_SW_SPI : public U8G2 {
  2306. public: U8G2_SH1107_SEEED_96X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2307. u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2308. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2309. }
  2310. };
  2311. #if defined U8G2_USE_HW_SPI
  2312. class U8G2_SH1107_SEEED_96X96_2_4W_HW_SPI : public U8G2 {
  2313. public: U8G2_SH1107_SEEED_96X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2314. u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2315. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2316. }
  2317. };
  2318. #endif
  2319. class U8G2_SH1107_SEEED_96X96_2_3W_SW_SPI : public U8G2 {
  2320. public: U8G2_SH1107_SEEED_96X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2321. u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2322. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2323. }
  2324. };
  2325. class U8G2_SH1107_SEEED_96X96_2_6800 : public U8G2 {
  2326. public: U8G2_SH1107_SEEED_96X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2327. u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2328. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2329. }
  2330. };
  2331. class U8G2_SH1107_SEEED_96X96_2_8080 : public U8G2 {
  2332. public: U8G2_SH1107_SEEED_96X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2333. u8g2_Setup_sh1107_seeed_96x96_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2334. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2335. }
  2336. };
  2337. class U8G2_SH1107_SEEED_96X96_F_4W_SW_SPI : public U8G2 {
  2338. public: U8G2_SH1107_SEEED_96X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2339. u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2340. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2341. }
  2342. };
  2343. #if defined U8G2_USE_HW_SPI
  2344. class U8G2_SH1107_SEEED_96X96_F_4W_HW_SPI : public U8G2 {
  2345. public: U8G2_SH1107_SEEED_96X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2346. u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2347. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2348. }
  2349. };
  2350. #endif
  2351. class U8G2_SH1107_SEEED_96X96_F_3W_SW_SPI : public U8G2 {
  2352. public: U8G2_SH1107_SEEED_96X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2353. u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2354. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2355. }
  2356. };
  2357. class U8G2_SH1107_SEEED_96X96_F_6800 : public U8G2 {
  2358. public: U8G2_SH1107_SEEED_96X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2359. u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2360. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2361. }
  2362. };
  2363. class U8G2_SH1107_SEEED_96X96_F_8080 : public U8G2 {
  2364. public: U8G2_SH1107_SEEED_96X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2365. u8g2_Setup_sh1107_seeed_96x96_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2366. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2367. }
  2368. };
  2369. class U8G2_SH1107_SEEED_96X96_1_SW_I2C : public U8G2 {
  2370. public: U8G2_SH1107_SEEED_96X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2371. u8g2_Setup_sh1107_i2c_seeed_96x96_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2372. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2373. }
  2374. };
  2375. #if defined U8G2_USE_HW_I2C
  2376. class U8G2_SH1107_SEEED_96X96_1_HW_I2C : public U8G2 {
  2377. public: U8G2_SH1107_SEEED_96X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2378. u8g2_Setup_sh1107_i2c_seeed_96x96_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2379. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2380. }
  2381. };
  2382. #endif
  2383. class U8G2_SH1107_SEEED_96X96_2_SW_I2C : public U8G2 {
  2384. public: U8G2_SH1107_SEEED_96X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2385. u8g2_Setup_sh1107_i2c_seeed_96x96_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2386. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2387. }
  2388. };
  2389. #if defined U8G2_USE_HW_I2C
  2390. class U8G2_SH1107_SEEED_96X96_2_HW_I2C : public U8G2 {
  2391. public: U8G2_SH1107_SEEED_96X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2392. u8g2_Setup_sh1107_i2c_seeed_96x96_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2393. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2394. }
  2395. };
  2396. #endif
  2397. class U8G2_SH1107_SEEED_96X96_F_SW_I2C : public U8G2 {
  2398. public: U8G2_SH1107_SEEED_96X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2399. u8g2_Setup_sh1107_i2c_seeed_96x96_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2400. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2401. }
  2402. };
  2403. #if defined U8G2_USE_HW_I2C
  2404. class U8G2_SH1107_SEEED_96X96_F_HW_I2C : public U8G2 {
  2405. public: U8G2_SH1107_SEEED_96X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2406. u8g2_Setup_sh1107_i2c_seeed_96x96_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2407. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2408. }
  2409. };
  2410. #endif
  2411. class U8G2_SH1107_128X80_1_4W_SW_SPI : public U8G2 {
  2412. public: U8G2_SH1107_128X80_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2413. u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2414. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2415. }
  2416. };
  2417. #if defined U8G2_USE_HW_SPI
  2418. class U8G2_SH1107_128X80_1_4W_HW_SPI : public U8G2 {
  2419. public: U8G2_SH1107_128X80_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2420. u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2421. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2422. }
  2423. };
  2424. #endif
  2425. class U8G2_SH1107_128X80_1_3W_SW_SPI : public U8G2 {
  2426. public: U8G2_SH1107_128X80_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2427. u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2428. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2429. }
  2430. };
  2431. class U8G2_SH1107_128X80_1_6800 : public U8G2 {
  2432. public: U8G2_SH1107_128X80_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2433. u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2434. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2435. }
  2436. };
  2437. class U8G2_SH1107_128X80_1_8080 : public U8G2 {
  2438. public: U8G2_SH1107_128X80_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2439. u8g2_Setup_sh1107_128x80_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2440. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2441. }
  2442. };
  2443. class U8G2_SH1107_128X80_2_4W_SW_SPI : public U8G2 {
  2444. public: U8G2_SH1107_128X80_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2445. u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2446. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2447. }
  2448. };
  2449. #if defined U8G2_USE_HW_SPI
  2450. class U8G2_SH1107_128X80_2_4W_HW_SPI : public U8G2 {
  2451. public: U8G2_SH1107_128X80_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2452. u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2453. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2454. }
  2455. };
  2456. #endif
  2457. class U8G2_SH1107_128X80_2_3W_SW_SPI : public U8G2 {
  2458. public: U8G2_SH1107_128X80_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2459. u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2460. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2461. }
  2462. };
  2463. class U8G2_SH1107_128X80_2_6800 : public U8G2 {
  2464. public: U8G2_SH1107_128X80_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2465. u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2466. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2467. }
  2468. };
  2469. class U8G2_SH1107_128X80_2_8080 : public U8G2 {
  2470. public: U8G2_SH1107_128X80_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2471. u8g2_Setup_sh1107_128x80_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2472. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2473. }
  2474. };
  2475. class U8G2_SH1107_128X80_F_4W_SW_SPI : public U8G2 {
  2476. public: U8G2_SH1107_128X80_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2477. u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2478. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2479. }
  2480. };
  2481. #if defined U8G2_USE_HW_SPI
  2482. class U8G2_SH1107_128X80_F_4W_HW_SPI : public U8G2 {
  2483. public: U8G2_SH1107_128X80_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2484. u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2485. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2486. }
  2487. };
  2488. #endif
  2489. class U8G2_SH1107_128X80_F_3W_SW_SPI : public U8G2 {
  2490. public: U8G2_SH1107_128X80_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2491. u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2492. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2493. }
  2494. };
  2495. class U8G2_SH1107_128X80_F_6800 : public U8G2 {
  2496. public: U8G2_SH1107_128X80_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2497. u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2498. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2499. }
  2500. };
  2501. class U8G2_SH1107_128X80_F_8080 : public U8G2 {
  2502. public: U8G2_SH1107_128X80_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2503. u8g2_Setup_sh1107_128x80_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2504. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2505. }
  2506. };
  2507. class U8G2_SH1107_128X80_1_SW_I2C : public U8G2 {
  2508. public: U8G2_SH1107_128X80_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2509. u8g2_Setup_sh1107_i2c_128x80_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2510. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2511. }
  2512. };
  2513. #if defined U8G2_USE_HW_I2C
  2514. class U8G2_SH1107_128X80_1_HW_I2C : public U8G2 {
  2515. public: U8G2_SH1107_128X80_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2516. u8g2_Setup_sh1107_i2c_128x80_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2517. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2518. }
  2519. };
  2520. #endif
  2521. class U8G2_SH1107_128X80_2_SW_I2C : public U8G2 {
  2522. public: U8G2_SH1107_128X80_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2523. u8g2_Setup_sh1107_i2c_128x80_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2524. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2525. }
  2526. };
  2527. #if defined U8G2_USE_HW_I2C
  2528. class U8G2_SH1107_128X80_2_HW_I2C : public U8G2 {
  2529. public: U8G2_SH1107_128X80_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2530. u8g2_Setup_sh1107_i2c_128x80_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2531. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2532. }
  2533. };
  2534. #endif
  2535. class U8G2_SH1107_128X80_F_SW_I2C : public U8G2 {
  2536. public: U8G2_SH1107_128X80_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2537. u8g2_Setup_sh1107_i2c_128x80_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2538. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2539. }
  2540. };
  2541. #if defined U8G2_USE_HW_I2C
  2542. class U8G2_SH1107_128X80_F_HW_I2C : public U8G2 {
  2543. public: U8G2_SH1107_128X80_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2544. u8g2_Setup_sh1107_i2c_128x80_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2545. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2546. }
  2547. };
  2548. #endif
  2549. class U8G2_SH1107_128X128_1_4W_SW_SPI : public U8G2 {
  2550. public: U8G2_SH1107_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2551. u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2552. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2553. }
  2554. };
  2555. #if defined U8G2_USE_HW_SPI
  2556. class U8G2_SH1107_128X128_1_4W_HW_SPI : public U8G2 {
  2557. public: U8G2_SH1107_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2558. u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2559. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2560. }
  2561. };
  2562. #endif
  2563. class U8G2_SH1107_128X128_1_3W_SW_SPI : public U8G2 {
  2564. public: U8G2_SH1107_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2565. u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2566. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2567. }
  2568. };
  2569. class U8G2_SH1107_128X128_1_6800 : public U8G2 {
  2570. public: U8G2_SH1107_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2571. u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2572. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2573. }
  2574. };
  2575. class U8G2_SH1107_128X128_1_8080 : public U8G2 {
  2576. public: U8G2_SH1107_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2577. u8g2_Setup_sh1107_128x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2578. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2579. }
  2580. };
  2581. class U8G2_SH1107_PIMORONI_128X128_1_4W_SW_SPI : public U8G2 {
  2582. public: U8G2_SH1107_PIMORONI_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2583. u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2584. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2585. }
  2586. };
  2587. #if defined U8G2_USE_HW_SPI
  2588. class U8G2_SH1107_PIMORONI_128X128_1_4W_HW_SPI : public U8G2 {
  2589. public: U8G2_SH1107_PIMORONI_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2590. u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2591. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2592. }
  2593. };
  2594. #endif
  2595. class U8G2_SH1107_PIMORONI_128X128_1_3W_SW_SPI : public U8G2 {
  2596. public: U8G2_SH1107_PIMORONI_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2597. u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2598. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2599. }
  2600. };
  2601. class U8G2_SH1107_PIMORONI_128X128_1_6800 : public U8G2 {
  2602. public: U8G2_SH1107_PIMORONI_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2603. u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2604. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2605. }
  2606. };
  2607. class U8G2_SH1107_PIMORONI_128X128_1_8080 : public U8G2 {
  2608. public: U8G2_SH1107_PIMORONI_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2609. u8g2_Setup_sh1107_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2610. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2611. }
  2612. };
  2613. class U8G2_SH1107_SEEED_128X128_1_4W_SW_SPI : public U8G2 {
  2614. public: U8G2_SH1107_SEEED_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2615. u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2616. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2617. }
  2618. };
  2619. #if defined U8G2_USE_HW_SPI
  2620. class U8G2_SH1107_SEEED_128X128_1_4W_HW_SPI : public U8G2 {
  2621. public: U8G2_SH1107_SEEED_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2622. u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2623. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2624. }
  2625. };
  2626. #endif
  2627. class U8G2_SH1107_SEEED_128X128_1_3W_SW_SPI : public U8G2 {
  2628. public: U8G2_SH1107_SEEED_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2629. u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2630. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2631. }
  2632. };
  2633. class U8G2_SH1107_SEEED_128X128_1_6800 : public U8G2 {
  2634. public: U8G2_SH1107_SEEED_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2635. u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2636. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2637. }
  2638. };
  2639. class U8G2_SH1107_SEEED_128X128_1_8080 : public U8G2 {
  2640. public: U8G2_SH1107_SEEED_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2641. u8g2_Setup_sh1107_seeed_128x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2642. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2643. }
  2644. };
  2645. class U8G2_SH1107_128X128_2_4W_SW_SPI : public U8G2 {
  2646. public: U8G2_SH1107_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2647. u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2648. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2649. }
  2650. };
  2651. #if defined U8G2_USE_HW_SPI
  2652. class U8G2_SH1107_128X128_2_4W_HW_SPI : public U8G2 {
  2653. public: U8G2_SH1107_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2654. u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2655. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2656. }
  2657. };
  2658. #endif
  2659. class U8G2_SH1107_128X128_2_3W_SW_SPI : public U8G2 {
  2660. public: U8G2_SH1107_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2661. u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2662. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2663. }
  2664. };
  2665. class U8G2_SH1107_128X128_2_6800 : public U8G2 {
  2666. public: U8G2_SH1107_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2667. u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2668. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2669. }
  2670. };
  2671. class U8G2_SH1107_128X128_2_8080 : public U8G2 {
  2672. public: U8G2_SH1107_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2673. u8g2_Setup_sh1107_128x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2674. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2675. }
  2676. };
  2677. class U8G2_SH1107_PIMORONI_128X128_2_4W_SW_SPI : public U8G2 {
  2678. public: U8G2_SH1107_PIMORONI_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2679. u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2680. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2681. }
  2682. };
  2683. #if defined U8G2_USE_HW_SPI
  2684. class U8G2_SH1107_PIMORONI_128X128_2_4W_HW_SPI : public U8G2 {
  2685. public: U8G2_SH1107_PIMORONI_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2686. u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2687. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2688. }
  2689. };
  2690. #endif
  2691. class U8G2_SH1107_PIMORONI_128X128_2_3W_SW_SPI : public U8G2 {
  2692. public: U8G2_SH1107_PIMORONI_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2693. u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2694. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2695. }
  2696. };
  2697. class U8G2_SH1107_PIMORONI_128X128_2_6800 : public U8G2 {
  2698. public: U8G2_SH1107_PIMORONI_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2699. u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2700. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2701. }
  2702. };
  2703. class U8G2_SH1107_PIMORONI_128X128_2_8080 : public U8G2 {
  2704. public: U8G2_SH1107_PIMORONI_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2705. u8g2_Setup_sh1107_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2706. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2707. }
  2708. };
  2709. class U8G2_SH1107_SEEED_128X128_2_4W_SW_SPI : public U8G2 {
  2710. public: U8G2_SH1107_SEEED_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2711. u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2712. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2713. }
  2714. };
  2715. #if defined U8G2_USE_HW_SPI
  2716. class U8G2_SH1107_SEEED_128X128_2_4W_HW_SPI : public U8G2 {
  2717. public: U8G2_SH1107_SEEED_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2718. u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2719. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2720. }
  2721. };
  2722. #endif
  2723. class U8G2_SH1107_SEEED_128X128_2_3W_SW_SPI : public U8G2 {
  2724. public: U8G2_SH1107_SEEED_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2725. u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2726. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2727. }
  2728. };
  2729. class U8G2_SH1107_SEEED_128X128_2_6800 : public U8G2 {
  2730. public: U8G2_SH1107_SEEED_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2731. u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2732. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2733. }
  2734. };
  2735. class U8G2_SH1107_SEEED_128X128_2_8080 : public U8G2 {
  2736. public: U8G2_SH1107_SEEED_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2737. u8g2_Setup_sh1107_seeed_128x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2738. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2739. }
  2740. };
  2741. class U8G2_SH1107_128X128_F_4W_SW_SPI : public U8G2 {
  2742. public: U8G2_SH1107_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2743. u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2744. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2745. }
  2746. };
  2747. #if defined U8G2_USE_HW_SPI
  2748. class U8G2_SH1107_128X128_F_4W_HW_SPI : public U8G2 {
  2749. public: U8G2_SH1107_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2750. u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2751. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2752. }
  2753. };
  2754. #endif
  2755. class U8G2_SH1107_128X128_F_3W_SW_SPI : public U8G2 {
  2756. public: U8G2_SH1107_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2757. u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2758. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2759. }
  2760. };
  2761. class U8G2_SH1107_128X128_F_6800 : public U8G2 {
  2762. public: U8G2_SH1107_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2763. u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2764. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2765. }
  2766. };
  2767. class U8G2_SH1107_128X128_F_8080 : public U8G2 {
  2768. public: U8G2_SH1107_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2769. u8g2_Setup_sh1107_128x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2770. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2771. }
  2772. };
  2773. class U8G2_SH1107_PIMORONI_128X128_F_4W_SW_SPI : public U8G2 {
  2774. public: U8G2_SH1107_PIMORONI_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2775. u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2776. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2777. }
  2778. };
  2779. #if defined U8G2_USE_HW_SPI
  2780. class U8G2_SH1107_PIMORONI_128X128_F_4W_HW_SPI : public U8G2 {
  2781. public: U8G2_SH1107_PIMORONI_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2782. u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2783. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2784. }
  2785. };
  2786. #endif
  2787. class U8G2_SH1107_PIMORONI_128X128_F_3W_SW_SPI : public U8G2 {
  2788. public: U8G2_SH1107_PIMORONI_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2789. u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2790. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2791. }
  2792. };
  2793. class U8G2_SH1107_PIMORONI_128X128_F_6800 : public U8G2 {
  2794. public: U8G2_SH1107_PIMORONI_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2795. u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2796. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2797. }
  2798. };
  2799. class U8G2_SH1107_PIMORONI_128X128_F_8080 : public U8G2 {
  2800. public: U8G2_SH1107_PIMORONI_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2801. u8g2_Setup_sh1107_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2802. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2803. }
  2804. };
  2805. class U8G2_SH1107_SEEED_128X128_F_4W_SW_SPI : public U8G2 {
  2806. public: U8G2_SH1107_SEEED_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2807. u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2808. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2809. }
  2810. };
  2811. #if defined U8G2_USE_HW_SPI
  2812. class U8G2_SH1107_SEEED_128X128_F_4W_HW_SPI : public U8G2 {
  2813. public: U8G2_SH1107_SEEED_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2814. u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2815. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2816. }
  2817. };
  2818. #endif
  2819. class U8G2_SH1107_SEEED_128X128_F_3W_SW_SPI : public U8G2 {
  2820. public: U8G2_SH1107_SEEED_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2821. u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2822. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2823. }
  2824. };
  2825. class U8G2_SH1107_SEEED_128X128_F_6800 : public U8G2 {
  2826. public: U8G2_SH1107_SEEED_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2827. u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2828. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2829. }
  2830. };
  2831. class U8G2_SH1107_SEEED_128X128_F_8080 : public U8G2 {
  2832. public: U8G2_SH1107_SEEED_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2833. u8g2_Setup_sh1107_seeed_128x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2834. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2835. }
  2836. };
  2837. class U8G2_SH1107_128X128_1_SW_I2C : public U8G2 {
  2838. public: U8G2_SH1107_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2839. u8g2_Setup_sh1107_i2c_128x128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2840. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2841. }
  2842. };
  2843. #if defined U8G2_USE_HW_I2C
  2844. class U8G2_SH1107_128X128_1_HW_I2C : public U8G2 {
  2845. public: U8G2_SH1107_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2846. u8g2_Setup_sh1107_i2c_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2847. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2848. }
  2849. };
  2850. #endif
  2851. class U8G2_SH1107_PIMORONI_128X128_1_SW_I2C : public U8G2 {
  2852. public: U8G2_SH1107_PIMORONI_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2853. u8g2_Setup_sh1107_i2c_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2854. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2855. }
  2856. };
  2857. #if defined U8G2_USE_HW_I2C
  2858. class U8G2_SH1107_PIMORONI_128X128_1_HW_I2C : public U8G2 {
  2859. public: U8G2_SH1107_PIMORONI_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2860. u8g2_Setup_sh1107_i2c_pimoroni_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2861. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2862. }
  2863. };
  2864. #endif
  2865. class U8G2_SH1107_SEEED_128X128_1_SW_I2C : public U8G2 {
  2866. public: U8G2_SH1107_SEEED_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2867. u8g2_Setup_sh1107_i2c_seeed_128x128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2868. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2869. }
  2870. };
  2871. #if defined U8G2_USE_HW_I2C
  2872. class U8G2_SH1107_SEEED_128X128_1_HW_I2C : public U8G2 {
  2873. public: U8G2_SH1107_SEEED_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2874. u8g2_Setup_sh1107_i2c_seeed_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2875. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2876. }
  2877. };
  2878. #endif
  2879. class U8G2_SH1107_128X128_2_SW_I2C : public U8G2 {
  2880. public: U8G2_SH1107_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2881. u8g2_Setup_sh1107_i2c_128x128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2882. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2883. }
  2884. };
  2885. #if defined U8G2_USE_HW_I2C
  2886. class U8G2_SH1107_128X128_2_HW_I2C : public U8G2 {
  2887. public: U8G2_SH1107_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2888. u8g2_Setup_sh1107_i2c_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2889. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2890. }
  2891. };
  2892. #endif
  2893. class U8G2_SH1107_PIMORONI_128X128_2_SW_I2C : public U8G2 {
  2894. public: U8G2_SH1107_PIMORONI_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2895. u8g2_Setup_sh1107_i2c_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2896. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2897. }
  2898. };
  2899. #if defined U8G2_USE_HW_I2C
  2900. class U8G2_SH1107_PIMORONI_128X128_2_HW_I2C : public U8G2 {
  2901. public: U8G2_SH1107_PIMORONI_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2902. u8g2_Setup_sh1107_i2c_pimoroni_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2903. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2904. }
  2905. };
  2906. #endif
  2907. class U8G2_SH1107_SEEED_128X128_2_SW_I2C : public U8G2 {
  2908. public: U8G2_SH1107_SEEED_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2909. u8g2_Setup_sh1107_i2c_seeed_128x128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2910. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2911. }
  2912. };
  2913. #if defined U8G2_USE_HW_I2C
  2914. class U8G2_SH1107_SEEED_128X128_2_HW_I2C : public U8G2 {
  2915. public: U8G2_SH1107_SEEED_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2916. u8g2_Setup_sh1107_i2c_seeed_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2917. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2918. }
  2919. };
  2920. #endif
  2921. class U8G2_SH1107_128X128_F_SW_I2C : public U8G2 {
  2922. public: U8G2_SH1107_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2923. u8g2_Setup_sh1107_i2c_128x128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2924. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2925. }
  2926. };
  2927. #if defined U8G2_USE_HW_I2C
  2928. class U8G2_SH1107_128X128_F_HW_I2C : public U8G2 {
  2929. public: U8G2_SH1107_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2930. u8g2_Setup_sh1107_i2c_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2931. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2932. }
  2933. };
  2934. #endif
  2935. class U8G2_SH1107_PIMORONI_128X128_F_SW_I2C : public U8G2 {
  2936. public: U8G2_SH1107_PIMORONI_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2937. u8g2_Setup_sh1107_i2c_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2938. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2939. }
  2940. };
  2941. #if defined U8G2_USE_HW_I2C
  2942. class U8G2_SH1107_PIMORONI_128X128_F_HW_I2C : public U8G2 {
  2943. public: U8G2_SH1107_PIMORONI_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2944. u8g2_Setup_sh1107_i2c_pimoroni_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2945. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2946. }
  2947. };
  2948. #endif
  2949. class U8G2_SH1107_SEEED_128X128_F_SW_I2C : public U8G2 {
  2950. public: U8G2_SH1107_SEEED_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2951. u8g2_Setup_sh1107_i2c_seeed_128x128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  2952. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  2953. }
  2954. };
  2955. #if defined U8G2_USE_HW_I2C
  2956. class U8G2_SH1107_SEEED_128X128_F_HW_I2C : public U8G2 {
  2957. public: U8G2_SH1107_SEEED_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  2958. u8g2_Setup_sh1107_i2c_seeed_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  2959. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  2960. }
  2961. };
  2962. #endif
  2963. class U8G2_SH1108_160X160_1_4W_SW_SPI : public U8G2 {
  2964. public: U8G2_SH1108_160X160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2965. u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2966. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2967. }
  2968. };
  2969. #if defined U8G2_USE_HW_SPI
  2970. class U8G2_SH1108_160X160_1_4W_HW_SPI : public U8G2 {
  2971. public: U8G2_SH1108_160X160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2972. u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  2973. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  2974. }
  2975. };
  2976. #endif
  2977. class U8G2_SH1108_160X160_1_3W_SW_SPI : public U8G2 {
  2978. public: U8G2_SH1108_160X160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2979. u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2980. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  2981. }
  2982. };
  2983. class U8G2_SH1108_160X160_1_6800 : public U8G2 {
  2984. public: U8G2_SH1108_160X160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2985. u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  2986. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2987. }
  2988. };
  2989. class U8G2_SH1108_160X160_1_8080 : public U8G2 {
  2990. public: U8G2_SH1108_160X160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2991. u8g2_Setup_sh1108_160x160_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  2992. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  2993. }
  2994. };
  2995. class U8G2_SH1108_160X160_2_4W_SW_SPI : public U8G2 {
  2996. public: U8G2_SH1108_160X160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  2997. u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  2998. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  2999. }
  3000. };
  3001. #if defined U8G2_USE_HW_SPI
  3002. class U8G2_SH1108_160X160_2_4W_HW_SPI : public U8G2 {
  3003. public: U8G2_SH1108_160X160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3004. u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3005. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3006. }
  3007. };
  3008. #endif
  3009. class U8G2_SH1108_160X160_2_3W_SW_SPI : public U8G2 {
  3010. public: U8G2_SH1108_160X160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3011. u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3012. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3013. }
  3014. };
  3015. class U8G2_SH1108_160X160_2_6800 : public U8G2 {
  3016. public: U8G2_SH1108_160X160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3017. u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3018. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3019. }
  3020. };
  3021. class U8G2_SH1108_160X160_2_8080 : public U8G2 {
  3022. public: U8G2_SH1108_160X160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3023. u8g2_Setup_sh1108_160x160_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3024. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3025. }
  3026. };
  3027. class U8G2_SH1108_160X160_F_4W_SW_SPI : public U8G2 {
  3028. public: U8G2_SH1108_160X160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3029. u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3030. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3031. }
  3032. };
  3033. #if defined U8G2_USE_HW_SPI
  3034. class U8G2_SH1108_160X160_F_4W_HW_SPI : public U8G2 {
  3035. public: U8G2_SH1108_160X160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3036. u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3037. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3038. }
  3039. };
  3040. #endif
  3041. class U8G2_SH1108_160X160_F_3W_SW_SPI : public U8G2 {
  3042. public: U8G2_SH1108_160X160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3043. u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3044. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3045. }
  3046. };
  3047. class U8G2_SH1108_160X160_F_6800 : public U8G2 {
  3048. public: U8G2_SH1108_160X160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3049. u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3050. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3051. }
  3052. };
  3053. class U8G2_SH1108_160X160_F_8080 : public U8G2 {
  3054. public: U8G2_SH1108_160X160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3055. u8g2_Setup_sh1108_160x160_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3056. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3057. }
  3058. };
  3059. class U8G2_SH1108_160X160_1_SW_I2C : public U8G2 {
  3060. public: U8G2_SH1108_160X160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3061. u8g2_Setup_sh1108_i2c_160x160_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3062. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3063. }
  3064. };
  3065. #if defined U8G2_USE_HW_I2C
  3066. class U8G2_SH1108_160X160_1_HW_I2C : public U8G2 {
  3067. public: U8G2_SH1108_160X160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3068. u8g2_Setup_sh1108_i2c_160x160_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3069. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3070. }
  3071. };
  3072. #endif
  3073. class U8G2_SH1108_160X160_2_SW_I2C : public U8G2 {
  3074. public: U8G2_SH1108_160X160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3075. u8g2_Setup_sh1108_i2c_160x160_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3076. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3077. }
  3078. };
  3079. #if defined U8G2_USE_HW_I2C
  3080. class U8G2_SH1108_160X160_2_HW_I2C : public U8G2 {
  3081. public: U8G2_SH1108_160X160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3082. u8g2_Setup_sh1108_i2c_160x160_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3083. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3084. }
  3085. };
  3086. #endif
  3087. class U8G2_SH1108_160X160_F_SW_I2C : public U8G2 {
  3088. public: U8G2_SH1108_160X160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3089. u8g2_Setup_sh1108_i2c_160x160_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3090. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3091. }
  3092. };
  3093. #if defined U8G2_USE_HW_I2C
  3094. class U8G2_SH1108_160X160_F_HW_I2C : public U8G2 {
  3095. public: U8G2_SH1108_160X160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3096. u8g2_Setup_sh1108_i2c_160x160_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3097. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3098. }
  3099. };
  3100. #endif
  3101. class U8G2_SH1122_256X64_1_4W_SW_SPI : public U8G2 {
  3102. public: U8G2_SH1122_256X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3103. u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3104. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3105. }
  3106. };
  3107. #if defined U8G2_USE_HW_SPI
  3108. class U8G2_SH1122_256X64_1_4W_HW_SPI : public U8G2 {
  3109. public: U8G2_SH1122_256X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3110. u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3111. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3112. }
  3113. };
  3114. #endif
  3115. class U8G2_SH1122_256X64_1_3W_SW_SPI : public U8G2 {
  3116. public: U8G2_SH1122_256X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3117. u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3118. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3119. }
  3120. };
  3121. class U8G2_SH1122_256X64_1_6800 : public U8G2 {
  3122. public: U8G2_SH1122_256X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3123. u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3124. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3125. }
  3126. };
  3127. class U8G2_SH1122_256X64_1_8080 : public U8G2 {
  3128. public: U8G2_SH1122_256X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3129. u8g2_Setup_sh1122_256x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3130. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3131. }
  3132. };
  3133. class U8G2_SH1122_256X64_2_4W_SW_SPI : public U8G2 {
  3134. public: U8G2_SH1122_256X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3135. u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3136. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3137. }
  3138. };
  3139. #if defined U8G2_USE_HW_SPI
  3140. class U8G2_SH1122_256X64_2_4W_HW_SPI : public U8G2 {
  3141. public: U8G2_SH1122_256X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3142. u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3143. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3144. }
  3145. };
  3146. #endif
  3147. class U8G2_SH1122_256X64_2_3W_SW_SPI : public U8G2 {
  3148. public: U8G2_SH1122_256X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3149. u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3150. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3151. }
  3152. };
  3153. class U8G2_SH1122_256X64_2_6800 : public U8G2 {
  3154. public: U8G2_SH1122_256X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3155. u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3156. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3157. }
  3158. };
  3159. class U8G2_SH1122_256X64_2_8080 : public U8G2 {
  3160. public: U8G2_SH1122_256X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3161. u8g2_Setup_sh1122_256x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3162. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3163. }
  3164. };
  3165. class U8G2_SH1122_256X64_F_4W_SW_SPI : public U8G2 {
  3166. public: U8G2_SH1122_256X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3167. u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3168. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3169. }
  3170. };
  3171. #if defined U8G2_USE_HW_SPI
  3172. class U8G2_SH1122_256X64_F_4W_HW_SPI : public U8G2 {
  3173. public: U8G2_SH1122_256X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3174. u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3175. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3176. }
  3177. };
  3178. #endif
  3179. class U8G2_SH1122_256X64_F_3W_SW_SPI : public U8G2 {
  3180. public: U8G2_SH1122_256X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3181. u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3182. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3183. }
  3184. };
  3185. class U8G2_SH1122_256X64_F_6800 : public U8G2 {
  3186. public: U8G2_SH1122_256X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3187. u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3188. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3189. }
  3190. };
  3191. class U8G2_SH1122_256X64_F_8080 : public U8G2 {
  3192. public: U8G2_SH1122_256X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3193. u8g2_Setup_sh1122_256x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3194. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3195. }
  3196. };
  3197. class U8G2_SH1122_256X64_1_SW_I2C : public U8G2 {
  3198. public: U8G2_SH1122_256X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3199. u8g2_Setup_sh1122_i2c_256x64_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3200. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3201. }
  3202. };
  3203. #if defined U8G2_USE_HW_I2C
  3204. class U8G2_SH1122_256X64_1_HW_I2C : public U8G2 {
  3205. public: U8G2_SH1122_256X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3206. u8g2_Setup_sh1122_i2c_256x64_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3207. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3208. }
  3209. };
  3210. #endif
  3211. class U8G2_SH1122_256X64_2_SW_I2C : public U8G2 {
  3212. public: U8G2_SH1122_256X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3213. u8g2_Setup_sh1122_i2c_256x64_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3214. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3215. }
  3216. };
  3217. #if defined U8G2_USE_HW_I2C
  3218. class U8G2_SH1122_256X64_2_HW_I2C : public U8G2 {
  3219. public: U8G2_SH1122_256X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3220. u8g2_Setup_sh1122_i2c_256x64_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3221. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3222. }
  3223. };
  3224. #endif
  3225. class U8G2_SH1122_256X64_F_SW_I2C : public U8G2 {
  3226. public: U8G2_SH1122_256X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3227. u8g2_Setup_sh1122_i2c_256x64_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3228. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3229. }
  3230. };
  3231. #if defined U8G2_USE_HW_I2C
  3232. class U8G2_SH1122_256X64_F_HW_I2C : public U8G2 {
  3233. public: U8G2_SH1122_256X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3234. u8g2_Setup_sh1122_i2c_256x64_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3235. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3236. }
  3237. };
  3238. #endif
  3239. class U8G2_SSD1306_128X32_UNIVISION_1_4W_SW_SPI : public U8G2 {
  3240. public: U8G2_SSD1306_128X32_UNIVISION_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3241. u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3242. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3243. }
  3244. };
  3245. #if defined U8G2_USE_HW_SPI
  3246. class U8G2_SSD1306_128X32_UNIVISION_1_4W_HW_SPI : public U8G2 {
  3247. public: U8G2_SSD1306_128X32_UNIVISION_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3248. u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3249. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3250. }
  3251. };
  3252. #endif
  3253. class U8G2_SSD1306_128X32_UNIVISION_1_3W_SW_SPI : public U8G2 {
  3254. public: U8G2_SSD1306_128X32_UNIVISION_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3255. u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3256. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3257. }
  3258. };
  3259. class U8G2_SSD1306_128X32_UNIVISION_1_6800 : public U8G2 {
  3260. public: U8G2_SSD1306_128X32_UNIVISION_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3261. u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3262. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3263. }
  3264. };
  3265. class U8G2_SSD1306_128X32_UNIVISION_1_8080 : public U8G2 {
  3266. public: U8G2_SSD1306_128X32_UNIVISION_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3267. u8g2_Setup_ssd1306_128x32_univision_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3268. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3269. }
  3270. };
  3271. class U8G2_SSD1306_128X32_WINSTAR_1_4W_SW_SPI : public U8G2 {
  3272. public: U8G2_SSD1306_128X32_WINSTAR_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3273. u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3274. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3275. }
  3276. };
  3277. #if defined U8G2_USE_HW_SPI
  3278. class U8G2_SSD1306_128X32_WINSTAR_1_4W_HW_SPI : public U8G2 {
  3279. public: U8G2_SSD1306_128X32_WINSTAR_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3280. u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3281. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3282. }
  3283. };
  3284. #endif
  3285. class U8G2_SSD1306_128X32_WINSTAR_1_3W_SW_SPI : public U8G2 {
  3286. public: U8G2_SSD1306_128X32_WINSTAR_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3287. u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3288. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3289. }
  3290. };
  3291. class U8G2_SSD1306_128X32_WINSTAR_1_6800 : public U8G2 {
  3292. public: U8G2_SSD1306_128X32_WINSTAR_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3293. u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3294. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3295. }
  3296. };
  3297. class U8G2_SSD1306_128X32_WINSTAR_1_8080 : public U8G2 {
  3298. public: U8G2_SSD1306_128X32_WINSTAR_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3299. u8g2_Setup_ssd1306_128x32_winstar_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3300. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3301. }
  3302. };
  3303. class U8G2_SSD1306_128X32_UNIVISION_2_4W_SW_SPI : public U8G2 {
  3304. public: U8G2_SSD1306_128X32_UNIVISION_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3305. u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3306. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3307. }
  3308. };
  3309. #if defined U8G2_USE_HW_SPI
  3310. class U8G2_SSD1306_128X32_UNIVISION_2_4W_HW_SPI : public U8G2 {
  3311. public: U8G2_SSD1306_128X32_UNIVISION_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3312. u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3313. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3314. }
  3315. };
  3316. #endif
  3317. class U8G2_SSD1306_128X32_UNIVISION_2_3W_SW_SPI : public U8G2 {
  3318. public: U8G2_SSD1306_128X32_UNIVISION_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3319. u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3320. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3321. }
  3322. };
  3323. class U8G2_SSD1306_128X32_UNIVISION_2_6800 : public U8G2 {
  3324. public: U8G2_SSD1306_128X32_UNIVISION_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3325. u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3326. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3327. }
  3328. };
  3329. class U8G2_SSD1306_128X32_UNIVISION_2_8080 : public U8G2 {
  3330. public: U8G2_SSD1306_128X32_UNIVISION_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3331. u8g2_Setup_ssd1306_128x32_univision_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3332. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3333. }
  3334. };
  3335. class U8G2_SSD1306_128X32_WINSTAR_2_4W_SW_SPI : public U8G2 {
  3336. public: U8G2_SSD1306_128X32_WINSTAR_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3337. u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3338. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3339. }
  3340. };
  3341. #if defined U8G2_USE_HW_SPI
  3342. class U8G2_SSD1306_128X32_WINSTAR_2_4W_HW_SPI : public U8G2 {
  3343. public: U8G2_SSD1306_128X32_WINSTAR_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3344. u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3345. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3346. }
  3347. };
  3348. #endif
  3349. class U8G2_SSD1306_128X32_WINSTAR_2_3W_SW_SPI : public U8G2 {
  3350. public: U8G2_SSD1306_128X32_WINSTAR_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3351. u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3352. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3353. }
  3354. };
  3355. class U8G2_SSD1306_128X32_WINSTAR_2_6800 : public U8G2 {
  3356. public: U8G2_SSD1306_128X32_WINSTAR_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3357. u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3358. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3359. }
  3360. };
  3361. class U8G2_SSD1306_128X32_WINSTAR_2_8080 : public U8G2 {
  3362. public: U8G2_SSD1306_128X32_WINSTAR_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3363. u8g2_Setup_ssd1306_128x32_winstar_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3364. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3365. }
  3366. };
  3367. class U8G2_SSD1306_128X32_UNIVISION_F_4W_SW_SPI : public U8G2 {
  3368. public: U8G2_SSD1306_128X32_UNIVISION_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3369. u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3370. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3371. }
  3372. };
  3373. #if defined U8G2_USE_HW_SPI
  3374. class U8G2_SSD1306_128X32_UNIVISION_F_4W_HW_SPI : public U8G2 {
  3375. public: U8G2_SSD1306_128X32_UNIVISION_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3376. u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3377. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3378. }
  3379. };
  3380. #endif
  3381. class U8G2_SSD1306_128X32_UNIVISION_F_3W_SW_SPI : public U8G2 {
  3382. public: U8G2_SSD1306_128X32_UNIVISION_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3383. u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3384. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3385. }
  3386. };
  3387. class U8G2_SSD1306_128X32_UNIVISION_F_6800 : public U8G2 {
  3388. public: U8G2_SSD1306_128X32_UNIVISION_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3389. u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3390. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3391. }
  3392. };
  3393. class U8G2_SSD1306_128X32_UNIVISION_F_8080 : public U8G2 {
  3394. public: U8G2_SSD1306_128X32_UNIVISION_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3395. u8g2_Setup_ssd1306_128x32_univision_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3396. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3397. }
  3398. };
  3399. class U8G2_SSD1306_128X32_WINSTAR_F_4W_SW_SPI : public U8G2 {
  3400. public: U8G2_SSD1306_128X32_WINSTAR_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3401. u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3402. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3403. }
  3404. };
  3405. #if defined U8G2_USE_HW_SPI
  3406. class U8G2_SSD1306_128X32_WINSTAR_F_4W_HW_SPI : public U8G2 {
  3407. public: U8G2_SSD1306_128X32_WINSTAR_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3408. u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3409. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3410. }
  3411. };
  3412. #endif
  3413. class U8G2_SSD1306_128X32_WINSTAR_F_3W_SW_SPI : public U8G2 {
  3414. public: U8G2_SSD1306_128X32_WINSTAR_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3415. u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3416. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3417. }
  3418. };
  3419. class U8G2_SSD1306_128X32_WINSTAR_F_6800 : public U8G2 {
  3420. public: U8G2_SSD1306_128X32_WINSTAR_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3421. u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3422. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3423. }
  3424. };
  3425. class U8G2_SSD1306_128X32_WINSTAR_F_8080 : public U8G2 {
  3426. public: U8G2_SSD1306_128X32_WINSTAR_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3427. u8g2_Setup_ssd1306_128x32_winstar_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3428. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3429. }
  3430. };
  3431. class U8G2_SSD1306_128X32_UNIVISION_1_SW_I2C : public U8G2 {
  3432. public: U8G2_SSD1306_128X32_UNIVISION_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3433. u8g2_Setup_ssd1306_i2c_128x32_univision_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3434. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3435. }
  3436. };
  3437. #if defined U8G2_USE_HW_I2C
  3438. class U8G2_SSD1306_128X32_UNIVISION_1_HW_I2C : public U8G2 {
  3439. public: U8G2_SSD1306_128X32_UNIVISION_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3440. u8g2_Setup_ssd1306_i2c_128x32_univision_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3441. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3442. }
  3443. };
  3444. #endif
  3445. class U8G2_SSD1306_128X32_WINSTAR_1_SW_I2C : public U8G2 {
  3446. public: U8G2_SSD1306_128X32_WINSTAR_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3447. u8g2_Setup_ssd1306_i2c_128x32_winstar_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3448. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3449. }
  3450. };
  3451. #if defined U8G2_USE_HW_I2C
  3452. class U8G2_SSD1306_128X32_WINSTAR_1_HW_I2C : public U8G2 {
  3453. public: U8G2_SSD1306_128X32_WINSTAR_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3454. u8g2_Setup_ssd1306_i2c_128x32_winstar_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3455. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3456. }
  3457. };
  3458. #endif
  3459. class U8G2_SSD1306_128X32_UNIVISION_2_SW_I2C : public U8G2 {
  3460. public: U8G2_SSD1306_128X32_UNIVISION_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3461. u8g2_Setup_ssd1306_i2c_128x32_univision_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3462. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3463. }
  3464. };
  3465. #if defined U8G2_USE_HW_I2C
  3466. class U8G2_SSD1306_128X32_UNIVISION_2_HW_I2C : public U8G2 {
  3467. public: U8G2_SSD1306_128X32_UNIVISION_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3468. u8g2_Setup_ssd1306_i2c_128x32_univision_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3469. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3470. }
  3471. };
  3472. #endif
  3473. class U8G2_SSD1306_128X32_WINSTAR_2_SW_I2C : public U8G2 {
  3474. public: U8G2_SSD1306_128X32_WINSTAR_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3475. u8g2_Setup_ssd1306_i2c_128x32_winstar_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3476. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3477. }
  3478. };
  3479. #if defined U8G2_USE_HW_I2C
  3480. class U8G2_SSD1306_128X32_WINSTAR_2_HW_I2C : public U8G2 {
  3481. public: U8G2_SSD1306_128X32_WINSTAR_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3482. u8g2_Setup_ssd1306_i2c_128x32_winstar_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3483. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3484. }
  3485. };
  3486. #endif
  3487. class U8G2_SSD1306_128X32_UNIVISION_F_SW_I2C : public U8G2 {
  3488. public: U8G2_SSD1306_128X32_UNIVISION_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3489. u8g2_Setup_ssd1306_i2c_128x32_univision_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3490. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3491. }
  3492. };
  3493. #if defined U8G2_USE_HW_I2C
  3494. class U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C : public U8G2 {
  3495. public: U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3496. u8g2_Setup_ssd1306_i2c_128x32_univision_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3497. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3498. }
  3499. };
  3500. #endif
  3501. class U8G2_SSD1306_128X32_WINSTAR_F_SW_I2C : public U8G2 {
  3502. public: U8G2_SSD1306_128X32_WINSTAR_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3503. u8g2_Setup_ssd1306_i2c_128x32_winstar_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3504. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3505. }
  3506. };
  3507. #if defined U8G2_USE_HW_I2C
  3508. class U8G2_SSD1306_128X32_WINSTAR_F_HW_I2C : public U8G2 {
  3509. public: U8G2_SSD1306_128X32_WINSTAR_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3510. u8g2_Setup_ssd1306_i2c_128x32_winstar_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3511. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3512. }
  3513. };
  3514. #endif
  3515. class U8G2_SSD1306_102X64_EA_OLEDS102_1_4W_SW_SPI : public U8G2 {
  3516. public: U8G2_SSD1306_102X64_EA_OLEDS102_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3517. u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3518. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3519. }
  3520. };
  3521. #if defined U8G2_USE_HW_SPI
  3522. class U8G2_SSD1306_102X64_EA_OLEDS102_1_4W_HW_SPI : public U8G2 {
  3523. public: U8G2_SSD1306_102X64_EA_OLEDS102_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3524. u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3525. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3526. }
  3527. };
  3528. #endif
  3529. class U8G2_SSD1306_102X64_EA_OLEDS102_1_3W_SW_SPI : public U8G2 {
  3530. public: U8G2_SSD1306_102X64_EA_OLEDS102_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3531. u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3532. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3533. }
  3534. };
  3535. class U8G2_SSD1306_102X64_EA_OLEDS102_1_6800 : public U8G2 {
  3536. public: U8G2_SSD1306_102X64_EA_OLEDS102_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3537. u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3538. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3539. }
  3540. };
  3541. class U8G2_SSD1306_102X64_EA_OLEDS102_1_8080 : public U8G2 {
  3542. public: U8G2_SSD1306_102X64_EA_OLEDS102_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3543. u8g2_Setup_ssd1306_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3544. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3545. }
  3546. };
  3547. class U8G2_SSD1306_102X64_EA_OLEDS102_2_4W_SW_SPI : public U8G2 {
  3548. public: U8G2_SSD1306_102X64_EA_OLEDS102_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3549. u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3550. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3551. }
  3552. };
  3553. #if defined U8G2_USE_HW_SPI
  3554. class U8G2_SSD1306_102X64_EA_OLEDS102_2_4W_HW_SPI : public U8G2 {
  3555. public: U8G2_SSD1306_102X64_EA_OLEDS102_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3556. u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3557. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3558. }
  3559. };
  3560. #endif
  3561. class U8G2_SSD1306_102X64_EA_OLEDS102_2_3W_SW_SPI : public U8G2 {
  3562. public: U8G2_SSD1306_102X64_EA_OLEDS102_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3563. u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3564. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3565. }
  3566. };
  3567. class U8G2_SSD1306_102X64_EA_OLEDS102_2_6800 : public U8G2 {
  3568. public: U8G2_SSD1306_102X64_EA_OLEDS102_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3569. u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3570. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3571. }
  3572. };
  3573. class U8G2_SSD1306_102X64_EA_OLEDS102_2_8080 : public U8G2 {
  3574. public: U8G2_SSD1306_102X64_EA_OLEDS102_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3575. u8g2_Setup_ssd1306_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3576. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3577. }
  3578. };
  3579. class U8G2_SSD1306_102X64_EA_OLEDS102_F_4W_SW_SPI : public U8G2 {
  3580. public: U8G2_SSD1306_102X64_EA_OLEDS102_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3581. u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3582. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3583. }
  3584. };
  3585. #if defined U8G2_USE_HW_SPI
  3586. class U8G2_SSD1306_102X64_EA_OLEDS102_F_4W_HW_SPI : public U8G2 {
  3587. public: U8G2_SSD1306_102X64_EA_OLEDS102_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3588. u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3589. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3590. }
  3591. };
  3592. #endif
  3593. class U8G2_SSD1306_102X64_EA_OLEDS102_F_3W_SW_SPI : public U8G2 {
  3594. public: U8G2_SSD1306_102X64_EA_OLEDS102_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3595. u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3596. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3597. }
  3598. };
  3599. class U8G2_SSD1306_102X64_EA_OLEDS102_F_6800 : public U8G2 {
  3600. public: U8G2_SSD1306_102X64_EA_OLEDS102_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3601. u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3602. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3603. }
  3604. };
  3605. class U8G2_SSD1306_102X64_EA_OLEDS102_F_8080 : public U8G2 {
  3606. public: U8G2_SSD1306_102X64_EA_OLEDS102_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3607. u8g2_Setup_ssd1306_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3608. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3609. }
  3610. };
  3611. class U8G2_SSD1306_102X64_EA_OLEDS102_1_SW_I2C : public U8G2 {
  3612. public: U8G2_SSD1306_102X64_EA_OLEDS102_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3613. u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3614. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3615. }
  3616. };
  3617. #if defined U8G2_USE_HW_I2C
  3618. class U8G2_SSD1306_102X64_EA_OLEDS102_1_HW_I2C : public U8G2 {
  3619. public: U8G2_SSD1306_102X64_EA_OLEDS102_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3620. u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3621. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3622. }
  3623. };
  3624. #endif
  3625. class U8G2_SSD1306_102X64_EA_OLEDS102_2_SW_I2C : public U8G2 {
  3626. public: U8G2_SSD1306_102X64_EA_OLEDS102_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3627. u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3628. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3629. }
  3630. };
  3631. #if defined U8G2_USE_HW_I2C
  3632. class U8G2_SSD1306_102X64_EA_OLEDS102_2_HW_I2C : public U8G2 {
  3633. public: U8G2_SSD1306_102X64_EA_OLEDS102_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3634. u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3635. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3636. }
  3637. };
  3638. #endif
  3639. class U8G2_SSD1306_102X64_EA_OLEDS102_F_SW_I2C : public U8G2 {
  3640. public: U8G2_SSD1306_102X64_EA_OLEDS102_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3641. u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3642. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3643. }
  3644. };
  3645. #if defined U8G2_USE_HW_I2C
  3646. class U8G2_SSD1306_102X64_EA_OLEDS102_F_HW_I2C : public U8G2 {
  3647. public: U8G2_SSD1306_102X64_EA_OLEDS102_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3648. u8g2_Setup_ssd1306_i2c_102x64_ea_oleds102_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3649. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3650. }
  3651. };
  3652. #endif
  3653. class U8G2_SH1106_128X32_VISIONOX_1_4W_SW_SPI : public U8G2 {
  3654. public: U8G2_SH1106_128X32_VISIONOX_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3655. u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3656. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3657. }
  3658. };
  3659. #if defined U8G2_USE_HW_SPI
  3660. class U8G2_SH1106_128X32_VISIONOX_1_4W_HW_SPI : public U8G2 {
  3661. public: U8G2_SH1106_128X32_VISIONOX_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3662. u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3663. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3664. }
  3665. };
  3666. #endif
  3667. class U8G2_SH1106_128X32_VISIONOX_1_3W_SW_SPI : public U8G2 {
  3668. public: U8G2_SH1106_128X32_VISIONOX_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3669. u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3670. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3671. }
  3672. };
  3673. class U8G2_SH1106_128X32_VISIONOX_1_6800 : public U8G2 {
  3674. public: U8G2_SH1106_128X32_VISIONOX_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3675. u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3676. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3677. }
  3678. };
  3679. class U8G2_SH1106_128X32_VISIONOX_1_8080 : public U8G2 {
  3680. public: U8G2_SH1106_128X32_VISIONOX_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3681. u8g2_Setup_sh1106_128x32_visionox_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3682. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3683. }
  3684. };
  3685. class U8G2_SH1106_128X32_VISIONOX_2_4W_SW_SPI : public U8G2 {
  3686. public: U8G2_SH1106_128X32_VISIONOX_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3687. u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3688. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3689. }
  3690. };
  3691. #if defined U8G2_USE_HW_SPI
  3692. class U8G2_SH1106_128X32_VISIONOX_2_4W_HW_SPI : public U8G2 {
  3693. public: U8G2_SH1106_128X32_VISIONOX_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3694. u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3695. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3696. }
  3697. };
  3698. #endif
  3699. class U8G2_SH1106_128X32_VISIONOX_2_3W_SW_SPI : public U8G2 {
  3700. public: U8G2_SH1106_128X32_VISIONOX_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3701. u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3702. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3703. }
  3704. };
  3705. class U8G2_SH1106_128X32_VISIONOX_2_6800 : public U8G2 {
  3706. public: U8G2_SH1106_128X32_VISIONOX_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3707. u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3708. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3709. }
  3710. };
  3711. class U8G2_SH1106_128X32_VISIONOX_2_8080 : public U8G2 {
  3712. public: U8G2_SH1106_128X32_VISIONOX_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3713. u8g2_Setup_sh1106_128x32_visionox_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3714. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3715. }
  3716. };
  3717. class U8G2_SH1106_128X32_VISIONOX_F_4W_SW_SPI : public U8G2 {
  3718. public: U8G2_SH1106_128X32_VISIONOX_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3719. u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3720. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3721. }
  3722. };
  3723. #if defined U8G2_USE_HW_SPI
  3724. class U8G2_SH1106_128X32_VISIONOX_F_4W_HW_SPI : public U8G2 {
  3725. public: U8G2_SH1106_128X32_VISIONOX_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3726. u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3727. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3728. }
  3729. };
  3730. #endif
  3731. class U8G2_SH1106_128X32_VISIONOX_F_3W_SW_SPI : public U8G2 {
  3732. public: U8G2_SH1106_128X32_VISIONOX_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3733. u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3734. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3735. }
  3736. };
  3737. class U8G2_SH1106_128X32_VISIONOX_F_6800 : public U8G2 {
  3738. public: U8G2_SH1106_128X32_VISIONOX_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3739. u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3740. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3741. }
  3742. };
  3743. class U8G2_SH1106_128X32_VISIONOX_F_8080 : public U8G2 {
  3744. public: U8G2_SH1106_128X32_VISIONOX_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3745. u8g2_Setup_sh1106_128x32_visionox_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3746. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3747. }
  3748. };
  3749. class U8G2_SH1106_128X32_VISIONOX_1_SW_I2C : public U8G2 {
  3750. public: U8G2_SH1106_128X32_VISIONOX_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3751. u8g2_Setup_sh1106_i2c_128x32_visionox_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3752. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3753. }
  3754. };
  3755. #if defined U8G2_USE_HW_I2C
  3756. class U8G2_SH1106_128X32_VISIONOX_1_HW_I2C : public U8G2 {
  3757. public: U8G2_SH1106_128X32_VISIONOX_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3758. u8g2_Setup_sh1106_i2c_128x32_visionox_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3759. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3760. }
  3761. };
  3762. #endif
  3763. class U8G2_SH1106_128X32_VISIONOX_2_SW_I2C : public U8G2 {
  3764. public: U8G2_SH1106_128X32_VISIONOX_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3765. u8g2_Setup_sh1106_i2c_128x32_visionox_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3766. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3767. }
  3768. };
  3769. #if defined U8G2_USE_HW_I2C
  3770. class U8G2_SH1106_128X32_VISIONOX_2_HW_I2C : public U8G2 {
  3771. public: U8G2_SH1106_128X32_VISIONOX_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3772. u8g2_Setup_sh1106_i2c_128x32_visionox_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3773. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3774. }
  3775. };
  3776. #endif
  3777. class U8G2_SH1106_128X32_VISIONOX_F_SW_I2C : public U8G2 {
  3778. public: U8G2_SH1106_128X32_VISIONOX_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3779. u8g2_Setup_sh1106_i2c_128x32_visionox_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3780. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3781. }
  3782. };
  3783. #if defined U8G2_USE_HW_I2C
  3784. class U8G2_SH1106_128X32_VISIONOX_F_HW_I2C : public U8G2 {
  3785. public: U8G2_SH1106_128X32_VISIONOX_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3786. u8g2_Setup_sh1106_i2c_128x32_visionox_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3787. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3788. }
  3789. };
  3790. #endif
  3791. class U8G2_SSD1306_64X48_ER_1_4W_SW_SPI : public U8G2 {
  3792. public: U8G2_SSD1306_64X48_ER_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3793. u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3794. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3795. }
  3796. };
  3797. #if defined U8G2_USE_HW_SPI
  3798. class U8G2_SSD1306_64X48_ER_1_4W_HW_SPI : public U8G2 {
  3799. public: U8G2_SSD1306_64X48_ER_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3800. u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3801. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3802. }
  3803. };
  3804. #endif
  3805. class U8G2_SSD1306_64X48_ER_1_3W_SW_SPI : public U8G2 {
  3806. public: U8G2_SSD1306_64X48_ER_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3807. u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3808. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3809. }
  3810. };
  3811. class U8G2_SSD1306_64X48_ER_1_6800 : public U8G2 {
  3812. public: U8G2_SSD1306_64X48_ER_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3813. u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3814. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3815. }
  3816. };
  3817. class U8G2_SSD1306_64X48_ER_1_8080 : public U8G2 {
  3818. public: U8G2_SSD1306_64X48_ER_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3819. u8g2_Setup_ssd1306_64x48_er_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3820. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3821. }
  3822. };
  3823. class U8G2_SSD1306_64X48_ER_2_4W_SW_SPI : public U8G2 {
  3824. public: U8G2_SSD1306_64X48_ER_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3825. u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3826. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3827. }
  3828. };
  3829. #if defined U8G2_USE_HW_SPI
  3830. class U8G2_SSD1306_64X48_ER_2_4W_HW_SPI : public U8G2 {
  3831. public: U8G2_SSD1306_64X48_ER_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3832. u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3833. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3834. }
  3835. };
  3836. #endif
  3837. class U8G2_SSD1306_64X48_ER_2_3W_SW_SPI : public U8G2 {
  3838. public: U8G2_SSD1306_64X48_ER_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3839. u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3840. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3841. }
  3842. };
  3843. class U8G2_SSD1306_64X48_ER_2_6800 : public U8G2 {
  3844. public: U8G2_SSD1306_64X48_ER_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3845. u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3846. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3847. }
  3848. };
  3849. class U8G2_SSD1306_64X48_ER_2_8080 : public U8G2 {
  3850. public: U8G2_SSD1306_64X48_ER_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3851. u8g2_Setup_ssd1306_64x48_er_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3852. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3853. }
  3854. };
  3855. class U8G2_SSD1306_64X48_ER_F_4W_SW_SPI : public U8G2 {
  3856. public: U8G2_SSD1306_64X48_ER_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3857. u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3858. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3859. }
  3860. };
  3861. #if defined U8G2_USE_HW_SPI
  3862. class U8G2_SSD1306_64X48_ER_F_4W_HW_SPI : public U8G2 {
  3863. public: U8G2_SSD1306_64X48_ER_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3864. u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3865. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3866. }
  3867. };
  3868. #endif
  3869. class U8G2_SSD1306_64X48_ER_F_3W_SW_SPI : public U8G2 {
  3870. public: U8G2_SSD1306_64X48_ER_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3871. u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3872. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3873. }
  3874. };
  3875. class U8G2_SSD1306_64X48_ER_F_6800 : public U8G2 {
  3876. public: U8G2_SSD1306_64X48_ER_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3877. u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3878. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3879. }
  3880. };
  3881. class U8G2_SSD1306_64X48_ER_F_8080 : public U8G2 {
  3882. public: U8G2_SSD1306_64X48_ER_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3883. u8g2_Setup_ssd1306_64x48_er_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3884. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3885. }
  3886. };
  3887. class U8G2_SSD1306_64X48_ER_1_SW_I2C : public U8G2 {
  3888. public: U8G2_SSD1306_64X48_ER_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3889. u8g2_Setup_ssd1306_i2c_64x48_er_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3890. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3891. }
  3892. };
  3893. #if defined U8G2_USE_HW_I2C
  3894. class U8G2_SSD1306_64X48_ER_1_HW_I2C : public U8G2 {
  3895. public: U8G2_SSD1306_64X48_ER_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3896. u8g2_Setup_ssd1306_i2c_64x48_er_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3897. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3898. }
  3899. };
  3900. #endif
  3901. class U8G2_SSD1306_64X48_ER_2_SW_I2C : public U8G2 {
  3902. public: U8G2_SSD1306_64X48_ER_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3903. u8g2_Setup_ssd1306_i2c_64x48_er_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3904. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3905. }
  3906. };
  3907. #if defined U8G2_USE_HW_I2C
  3908. class U8G2_SSD1306_64X48_ER_2_HW_I2C : public U8G2 {
  3909. public: U8G2_SSD1306_64X48_ER_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3910. u8g2_Setup_ssd1306_i2c_64x48_er_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3911. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3912. }
  3913. };
  3914. #endif
  3915. class U8G2_SSD1306_64X48_ER_F_SW_I2C : public U8G2 {
  3916. public: U8G2_SSD1306_64X48_ER_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3917. u8g2_Setup_ssd1306_i2c_64x48_er_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  3918. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  3919. }
  3920. };
  3921. #if defined U8G2_USE_HW_I2C
  3922. class U8G2_SSD1306_64X48_ER_F_HW_I2C : public U8G2 {
  3923. public: U8G2_SSD1306_64X48_ER_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  3924. u8g2_Setup_ssd1306_i2c_64x48_er_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  3925. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  3926. }
  3927. };
  3928. #endif
  3929. class U8G2_SSD1306_48X64_WINSTAR_1_4W_SW_SPI : public U8G2 {
  3930. public: U8G2_SSD1306_48X64_WINSTAR_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3931. u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3932. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3933. }
  3934. };
  3935. #if defined U8G2_USE_HW_SPI
  3936. class U8G2_SSD1306_48X64_WINSTAR_1_4W_HW_SPI : public U8G2 {
  3937. public: U8G2_SSD1306_48X64_WINSTAR_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3938. u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3939. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3940. }
  3941. };
  3942. #endif
  3943. class U8G2_SSD1306_48X64_WINSTAR_1_3W_SW_SPI : public U8G2 {
  3944. public: U8G2_SSD1306_48X64_WINSTAR_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3945. u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3946. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3947. }
  3948. };
  3949. class U8G2_SSD1306_48X64_WINSTAR_1_6800 : public U8G2 {
  3950. public: U8G2_SSD1306_48X64_WINSTAR_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3951. u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3952. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3953. }
  3954. };
  3955. class U8G2_SSD1306_48X64_WINSTAR_1_8080 : public U8G2 {
  3956. public: U8G2_SSD1306_48X64_WINSTAR_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3957. u8g2_Setup_ssd1306_48x64_winstar_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3958. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3959. }
  3960. };
  3961. class U8G2_SSD1306_48X64_WINSTAR_2_4W_SW_SPI : public U8G2 {
  3962. public: U8G2_SSD1306_48X64_WINSTAR_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3963. u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3964. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3965. }
  3966. };
  3967. #if defined U8G2_USE_HW_SPI
  3968. class U8G2_SSD1306_48X64_WINSTAR_2_4W_HW_SPI : public U8G2 {
  3969. public: U8G2_SSD1306_48X64_WINSTAR_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3970. u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  3971. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  3972. }
  3973. };
  3974. #endif
  3975. class U8G2_SSD1306_48X64_WINSTAR_2_3W_SW_SPI : public U8G2 {
  3976. public: U8G2_SSD1306_48X64_WINSTAR_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3977. u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3978. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  3979. }
  3980. };
  3981. class U8G2_SSD1306_48X64_WINSTAR_2_6800 : public U8G2 {
  3982. public: U8G2_SSD1306_48X64_WINSTAR_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3983. u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  3984. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3985. }
  3986. };
  3987. class U8G2_SSD1306_48X64_WINSTAR_2_8080 : public U8G2 {
  3988. public: U8G2_SSD1306_48X64_WINSTAR_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3989. u8g2_Setup_ssd1306_48x64_winstar_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  3990. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  3991. }
  3992. };
  3993. class U8G2_SSD1306_48X64_WINSTAR_F_4W_SW_SPI : public U8G2 {
  3994. public: U8G2_SSD1306_48X64_WINSTAR_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  3995. u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  3996. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  3997. }
  3998. };
  3999. #if defined U8G2_USE_HW_SPI
  4000. class U8G2_SSD1306_48X64_WINSTAR_F_4W_HW_SPI : public U8G2 {
  4001. public: U8G2_SSD1306_48X64_WINSTAR_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4002. u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4003. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4004. }
  4005. };
  4006. #endif
  4007. class U8G2_SSD1306_48X64_WINSTAR_F_3W_SW_SPI : public U8G2 {
  4008. public: U8G2_SSD1306_48X64_WINSTAR_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4009. u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4010. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4011. }
  4012. };
  4013. class U8G2_SSD1306_48X64_WINSTAR_F_6800 : public U8G2 {
  4014. public: U8G2_SSD1306_48X64_WINSTAR_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4015. u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4016. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4017. }
  4018. };
  4019. class U8G2_SSD1306_48X64_WINSTAR_F_8080 : public U8G2 {
  4020. public: U8G2_SSD1306_48X64_WINSTAR_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4021. u8g2_Setup_ssd1306_48x64_winstar_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4022. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4023. }
  4024. };
  4025. class U8G2_SSD1306_48X64_WINSTAR_1_SW_I2C : public U8G2 {
  4026. public: U8G2_SSD1306_48X64_WINSTAR_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4027. u8g2_Setup_ssd1306_i2c_48x64_winstar_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4028. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4029. }
  4030. };
  4031. #if defined U8G2_USE_HW_I2C
  4032. class U8G2_SSD1306_48X64_WINSTAR_1_HW_I2C : public U8G2 {
  4033. public: U8G2_SSD1306_48X64_WINSTAR_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4034. u8g2_Setup_ssd1306_i2c_48x64_winstar_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4035. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4036. }
  4037. };
  4038. #endif
  4039. class U8G2_SSD1306_48X64_WINSTAR_2_SW_I2C : public U8G2 {
  4040. public: U8G2_SSD1306_48X64_WINSTAR_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4041. u8g2_Setup_ssd1306_i2c_48x64_winstar_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4042. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4043. }
  4044. };
  4045. #if defined U8G2_USE_HW_I2C
  4046. class U8G2_SSD1306_48X64_WINSTAR_2_HW_I2C : public U8G2 {
  4047. public: U8G2_SSD1306_48X64_WINSTAR_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4048. u8g2_Setup_ssd1306_i2c_48x64_winstar_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4049. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4050. }
  4051. };
  4052. #endif
  4053. class U8G2_SSD1306_48X64_WINSTAR_F_SW_I2C : public U8G2 {
  4054. public: U8G2_SSD1306_48X64_WINSTAR_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4055. u8g2_Setup_ssd1306_i2c_48x64_winstar_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4056. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4057. }
  4058. };
  4059. #if defined U8G2_USE_HW_I2C
  4060. class U8G2_SSD1306_48X64_WINSTAR_F_HW_I2C : public U8G2 {
  4061. public: U8G2_SSD1306_48X64_WINSTAR_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4062. u8g2_Setup_ssd1306_i2c_48x64_winstar_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4063. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4064. }
  4065. };
  4066. #endif
  4067. class U8G2_SSD1306_64X32_NONAME_1_4W_SW_SPI : public U8G2 {
  4068. public: U8G2_SSD1306_64X32_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4069. u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4070. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4071. }
  4072. };
  4073. #if defined U8G2_USE_HW_SPI
  4074. class U8G2_SSD1306_64X32_NONAME_1_4W_HW_SPI : public U8G2 {
  4075. public: U8G2_SSD1306_64X32_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4076. u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4077. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4078. }
  4079. };
  4080. #endif
  4081. class U8G2_SSD1306_64X32_NONAME_1_3W_SW_SPI : public U8G2 {
  4082. public: U8G2_SSD1306_64X32_NONAME_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4083. u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4084. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4085. }
  4086. };
  4087. class U8G2_SSD1306_64X32_NONAME_1_6800 : public U8G2 {
  4088. public: U8G2_SSD1306_64X32_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4089. u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4090. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4091. }
  4092. };
  4093. class U8G2_SSD1306_64X32_NONAME_1_8080 : public U8G2 {
  4094. public: U8G2_SSD1306_64X32_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4095. u8g2_Setup_ssd1306_64x32_noname_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4096. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4097. }
  4098. };
  4099. class U8G2_SSD1306_64X32_1F_1_4W_SW_SPI : public U8G2 {
  4100. public: U8G2_SSD1306_64X32_1F_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4101. u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4102. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4103. }
  4104. };
  4105. #if defined U8G2_USE_HW_SPI
  4106. class U8G2_SSD1306_64X32_1F_1_4W_HW_SPI : public U8G2 {
  4107. public: U8G2_SSD1306_64X32_1F_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4108. u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4109. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4110. }
  4111. };
  4112. #endif
  4113. class U8G2_SSD1306_64X32_1F_1_3W_SW_SPI : public U8G2 {
  4114. public: U8G2_SSD1306_64X32_1F_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4115. u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4116. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4117. }
  4118. };
  4119. class U8G2_SSD1306_64X32_1F_1_6800 : public U8G2 {
  4120. public: U8G2_SSD1306_64X32_1F_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4121. u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4122. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4123. }
  4124. };
  4125. class U8G2_SSD1306_64X32_1F_1_8080 : public U8G2 {
  4126. public: U8G2_SSD1306_64X32_1F_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4127. u8g2_Setup_ssd1306_64x32_1f_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4128. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4129. }
  4130. };
  4131. class U8G2_SSD1306_64X32_NONAME_2_4W_SW_SPI : public U8G2 {
  4132. public: U8G2_SSD1306_64X32_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4133. u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4134. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4135. }
  4136. };
  4137. #if defined U8G2_USE_HW_SPI
  4138. class U8G2_SSD1306_64X32_NONAME_2_4W_HW_SPI : public U8G2 {
  4139. public: U8G2_SSD1306_64X32_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4140. u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4141. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4142. }
  4143. };
  4144. #endif
  4145. class U8G2_SSD1306_64X32_NONAME_2_3W_SW_SPI : public U8G2 {
  4146. public: U8G2_SSD1306_64X32_NONAME_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4147. u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4148. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4149. }
  4150. };
  4151. class U8G2_SSD1306_64X32_NONAME_2_6800 : public U8G2 {
  4152. public: U8G2_SSD1306_64X32_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4153. u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4154. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4155. }
  4156. };
  4157. class U8G2_SSD1306_64X32_NONAME_2_8080 : public U8G2 {
  4158. public: U8G2_SSD1306_64X32_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4159. u8g2_Setup_ssd1306_64x32_noname_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4160. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4161. }
  4162. };
  4163. class U8G2_SSD1306_64X32_1F_2_4W_SW_SPI : public U8G2 {
  4164. public: U8G2_SSD1306_64X32_1F_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4165. u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4166. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4167. }
  4168. };
  4169. #if defined U8G2_USE_HW_SPI
  4170. class U8G2_SSD1306_64X32_1F_2_4W_HW_SPI : public U8G2 {
  4171. public: U8G2_SSD1306_64X32_1F_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4172. u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4173. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4174. }
  4175. };
  4176. #endif
  4177. class U8G2_SSD1306_64X32_1F_2_3W_SW_SPI : public U8G2 {
  4178. public: U8G2_SSD1306_64X32_1F_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4179. u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4180. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4181. }
  4182. };
  4183. class U8G2_SSD1306_64X32_1F_2_6800 : public U8G2 {
  4184. public: U8G2_SSD1306_64X32_1F_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4185. u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4186. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4187. }
  4188. };
  4189. class U8G2_SSD1306_64X32_1F_2_8080 : public U8G2 {
  4190. public: U8G2_SSD1306_64X32_1F_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4191. u8g2_Setup_ssd1306_64x32_1f_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4192. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4193. }
  4194. };
  4195. class U8G2_SSD1306_64X32_NONAME_F_4W_SW_SPI : public U8G2 {
  4196. public: U8G2_SSD1306_64X32_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4197. u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4198. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4199. }
  4200. };
  4201. #if defined U8G2_USE_HW_SPI
  4202. class U8G2_SSD1306_64X32_NONAME_F_4W_HW_SPI : public U8G2 {
  4203. public: U8G2_SSD1306_64X32_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4204. u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4205. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4206. }
  4207. };
  4208. #endif
  4209. class U8G2_SSD1306_64X32_NONAME_F_3W_SW_SPI : public U8G2 {
  4210. public: U8G2_SSD1306_64X32_NONAME_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4211. u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4212. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4213. }
  4214. };
  4215. class U8G2_SSD1306_64X32_NONAME_F_6800 : public U8G2 {
  4216. public: U8G2_SSD1306_64X32_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4217. u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4218. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4219. }
  4220. };
  4221. class U8G2_SSD1306_64X32_NONAME_F_8080 : public U8G2 {
  4222. public: U8G2_SSD1306_64X32_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4223. u8g2_Setup_ssd1306_64x32_noname_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4224. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4225. }
  4226. };
  4227. class U8G2_SSD1306_64X32_1F_F_4W_SW_SPI : public U8G2 {
  4228. public: U8G2_SSD1306_64X32_1F_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4229. u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4230. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4231. }
  4232. };
  4233. #if defined U8G2_USE_HW_SPI
  4234. class U8G2_SSD1306_64X32_1F_F_4W_HW_SPI : public U8G2 {
  4235. public: U8G2_SSD1306_64X32_1F_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4236. u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4237. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4238. }
  4239. };
  4240. #endif
  4241. class U8G2_SSD1306_64X32_1F_F_3W_SW_SPI : public U8G2 {
  4242. public: U8G2_SSD1306_64X32_1F_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4243. u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4244. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4245. }
  4246. };
  4247. class U8G2_SSD1306_64X32_1F_F_6800 : public U8G2 {
  4248. public: U8G2_SSD1306_64X32_1F_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4249. u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4250. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4251. }
  4252. };
  4253. class U8G2_SSD1306_64X32_1F_F_8080 : public U8G2 {
  4254. public: U8G2_SSD1306_64X32_1F_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4255. u8g2_Setup_ssd1306_64x32_1f_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4256. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4257. }
  4258. };
  4259. class U8G2_SSD1306_64X32_NONAME_1_SW_I2C : public U8G2 {
  4260. public: U8G2_SSD1306_64X32_NONAME_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4261. u8g2_Setup_ssd1306_i2c_64x32_noname_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4262. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4263. }
  4264. };
  4265. #if defined U8G2_USE_HW_I2C
  4266. class U8G2_SSD1306_64X32_NONAME_1_HW_I2C : public U8G2 {
  4267. public: U8G2_SSD1306_64X32_NONAME_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4268. u8g2_Setup_ssd1306_i2c_64x32_noname_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4269. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4270. }
  4271. };
  4272. #endif
  4273. class U8G2_SSD1306_64X32_1F_1_SW_I2C : public U8G2 {
  4274. public: U8G2_SSD1306_64X32_1F_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4275. u8g2_Setup_ssd1306_i2c_64x32_1f_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4276. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4277. }
  4278. };
  4279. #if defined U8G2_USE_HW_I2C
  4280. class U8G2_SSD1306_64X32_1F_1_HW_I2C : public U8G2 {
  4281. public: U8G2_SSD1306_64X32_1F_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4282. u8g2_Setup_ssd1306_i2c_64x32_1f_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4283. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4284. }
  4285. };
  4286. #endif
  4287. class U8G2_SSD1306_64X32_NONAME_2_SW_I2C : public U8G2 {
  4288. public: U8G2_SSD1306_64X32_NONAME_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4289. u8g2_Setup_ssd1306_i2c_64x32_noname_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4290. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4291. }
  4292. };
  4293. #if defined U8G2_USE_HW_I2C
  4294. class U8G2_SSD1306_64X32_NONAME_2_HW_I2C : public U8G2 {
  4295. public: U8G2_SSD1306_64X32_NONAME_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4296. u8g2_Setup_ssd1306_i2c_64x32_noname_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4297. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4298. }
  4299. };
  4300. #endif
  4301. class U8G2_SSD1306_64X32_1F_2_SW_I2C : public U8G2 {
  4302. public: U8G2_SSD1306_64X32_1F_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4303. u8g2_Setup_ssd1306_i2c_64x32_1f_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4304. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4305. }
  4306. };
  4307. #if defined U8G2_USE_HW_I2C
  4308. class U8G2_SSD1306_64X32_1F_2_HW_I2C : public U8G2 {
  4309. public: U8G2_SSD1306_64X32_1F_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4310. u8g2_Setup_ssd1306_i2c_64x32_1f_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4311. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4312. }
  4313. };
  4314. #endif
  4315. class U8G2_SSD1306_64X32_NONAME_F_SW_I2C : public U8G2 {
  4316. public: U8G2_SSD1306_64X32_NONAME_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4317. u8g2_Setup_ssd1306_i2c_64x32_noname_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4318. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4319. }
  4320. };
  4321. #if defined U8G2_USE_HW_I2C
  4322. class U8G2_SSD1306_64X32_NONAME_F_HW_I2C : public U8G2 {
  4323. public: U8G2_SSD1306_64X32_NONAME_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4324. u8g2_Setup_ssd1306_i2c_64x32_noname_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4325. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4326. }
  4327. };
  4328. #endif
  4329. class U8G2_SSD1306_64X32_1F_F_SW_I2C : public U8G2 {
  4330. public: U8G2_SSD1306_64X32_1F_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4331. u8g2_Setup_ssd1306_i2c_64x32_1f_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4332. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4333. }
  4334. };
  4335. #if defined U8G2_USE_HW_I2C
  4336. class U8G2_SSD1306_64X32_1F_F_HW_I2C : public U8G2 {
  4337. public: U8G2_SSD1306_64X32_1F_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4338. u8g2_Setup_ssd1306_i2c_64x32_1f_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4339. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4340. }
  4341. };
  4342. #endif
  4343. class U8G2_SSD1306_96X16_ER_1_4W_SW_SPI : public U8G2 {
  4344. public: U8G2_SSD1306_96X16_ER_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4345. u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4346. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4347. }
  4348. };
  4349. #if defined U8G2_USE_HW_SPI
  4350. class U8G2_SSD1306_96X16_ER_1_4W_HW_SPI : public U8G2 {
  4351. public: U8G2_SSD1306_96X16_ER_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4352. u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4353. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4354. }
  4355. };
  4356. #endif
  4357. class U8G2_SSD1306_96X16_ER_1_3W_SW_SPI : public U8G2 {
  4358. public: U8G2_SSD1306_96X16_ER_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4359. u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4360. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4361. }
  4362. };
  4363. class U8G2_SSD1306_96X16_ER_1_6800 : public U8G2 {
  4364. public: U8G2_SSD1306_96X16_ER_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4365. u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4366. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4367. }
  4368. };
  4369. class U8G2_SSD1306_96X16_ER_1_8080 : public U8G2 {
  4370. public: U8G2_SSD1306_96X16_ER_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4371. u8g2_Setup_ssd1306_96x16_er_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4372. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4373. }
  4374. };
  4375. class U8G2_SSD1306_96X16_ER_2_4W_SW_SPI : public U8G2 {
  4376. public: U8G2_SSD1306_96X16_ER_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4377. u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4378. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4379. }
  4380. };
  4381. #if defined U8G2_USE_HW_SPI
  4382. class U8G2_SSD1306_96X16_ER_2_4W_HW_SPI : public U8G2 {
  4383. public: U8G2_SSD1306_96X16_ER_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4384. u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4385. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4386. }
  4387. };
  4388. #endif
  4389. class U8G2_SSD1306_96X16_ER_2_3W_SW_SPI : public U8G2 {
  4390. public: U8G2_SSD1306_96X16_ER_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4391. u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4392. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4393. }
  4394. };
  4395. class U8G2_SSD1306_96X16_ER_2_6800 : public U8G2 {
  4396. public: U8G2_SSD1306_96X16_ER_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4397. u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4398. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4399. }
  4400. };
  4401. class U8G2_SSD1306_96X16_ER_2_8080 : public U8G2 {
  4402. public: U8G2_SSD1306_96X16_ER_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4403. u8g2_Setup_ssd1306_96x16_er_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4404. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4405. }
  4406. };
  4407. class U8G2_SSD1306_96X16_ER_F_4W_SW_SPI : public U8G2 {
  4408. public: U8G2_SSD1306_96X16_ER_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4409. u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4410. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4411. }
  4412. };
  4413. #if defined U8G2_USE_HW_SPI
  4414. class U8G2_SSD1306_96X16_ER_F_4W_HW_SPI : public U8G2 {
  4415. public: U8G2_SSD1306_96X16_ER_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4416. u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4417. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4418. }
  4419. };
  4420. #endif
  4421. class U8G2_SSD1306_96X16_ER_F_3W_SW_SPI : public U8G2 {
  4422. public: U8G2_SSD1306_96X16_ER_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4423. u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4424. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4425. }
  4426. };
  4427. class U8G2_SSD1306_96X16_ER_F_6800 : public U8G2 {
  4428. public: U8G2_SSD1306_96X16_ER_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4429. u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4430. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4431. }
  4432. };
  4433. class U8G2_SSD1306_96X16_ER_F_8080 : public U8G2 {
  4434. public: U8G2_SSD1306_96X16_ER_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4435. u8g2_Setup_ssd1306_96x16_er_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4436. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4437. }
  4438. };
  4439. class U8G2_SSD1306_96X16_ER_1_SW_I2C : public U8G2 {
  4440. public: U8G2_SSD1306_96X16_ER_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4441. u8g2_Setup_ssd1306_i2c_96x16_er_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4442. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4443. }
  4444. };
  4445. #if defined U8G2_USE_HW_I2C
  4446. class U8G2_SSD1306_96X16_ER_1_HW_I2C : public U8G2 {
  4447. public: U8G2_SSD1306_96X16_ER_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4448. u8g2_Setup_ssd1306_i2c_96x16_er_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4449. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4450. }
  4451. };
  4452. #endif
  4453. class U8G2_SSD1306_96X16_ER_2_SW_I2C : public U8G2 {
  4454. public: U8G2_SSD1306_96X16_ER_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4455. u8g2_Setup_ssd1306_i2c_96x16_er_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4456. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4457. }
  4458. };
  4459. #if defined U8G2_USE_HW_I2C
  4460. class U8G2_SSD1306_96X16_ER_2_HW_I2C : public U8G2 {
  4461. public: U8G2_SSD1306_96X16_ER_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4462. u8g2_Setup_ssd1306_i2c_96x16_er_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4463. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4464. }
  4465. };
  4466. #endif
  4467. class U8G2_SSD1306_96X16_ER_F_SW_I2C : public U8G2 {
  4468. public: U8G2_SSD1306_96X16_ER_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4469. u8g2_Setup_ssd1306_i2c_96x16_er_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4470. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4471. }
  4472. };
  4473. #if defined U8G2_USE_HW_I2C
  4474. class U8G2_SSD1306_96X16_ER_F_HW_I2C : public U8G2 {
  4475. public: U8G2_SSD1306_96X16_ER_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4476. u8g2_Setup_ssd1306_i2c_96x16_er_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4477. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4478. }
  4479. };
  4480. #endif
  4481. class U8G2_SSD1309_128X64_NONAME2_1_4W_SW_SPI : public U8G2 {
  4482. public: U8G2_SSD1309_128X64_NONAME2_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4483. u8g2_Setup_ssd1309_128x64_noname2_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4484. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4485. }
  4486. };
  4487. #if defined U8G2_USE_HW_SPI
  4488. class U8G2_SSD1309_128X64_NONAME2_1_4W_HW_SPI : public U8G2 {
  4489. public: U8G2_SSD1309_128X64_NONAME2_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4490. u8g2_Setup_ssd1309_128x64_noname2_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4491. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4492. }
  4493. };
  4494. #endif
  4495. class U8G2_SSD1309_128X64_NONAME2_1_6800 : public U8G2 {
  4496. public: U8G2_SSD1309_128X64_NONAME2_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4497. u8g2_Setup_ssd1309_128x64_noname2_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4498. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4499. }
  4500. };
  4501. class U8G2_SSD1309_128X64_NONAME2_1_8080 : public U8G2 {
  4502. public: U8G2_SSD1309_128X64_NONAME2_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4503. u8g2_Setup_ssd1309_128x64_noname2_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4504. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4505. }
  4506. };
  4507. class U8G2_SSD1309_128X64_NONAME2_2_4W_SW_SPI : public U8G2 {
  4508. public: U8G2_SSD1309_128X64_NONAME2_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4509. u8g2_Setup_ssd1309_128x64_noname2_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4510. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4511. }
  4512. };
  4513. #if defined U8G2_USE_HW_SPI
  4514. class U8G2_SSD1309_128X64_NONAME2_2_4W_HW_SPI : public U8G2 {
  4515. public: U8G2_SSD1309_128X64_NONAME2_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4516. u8g2_Setup_ssd1309_128x64_noname2_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4517. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4518. }
  4519. };
  4520. #endif
  4521. class U8G2_SSD1309_128X64_NONAME2_2_6800 : public U8G2 {
  4522. public: U8G2_SSD1309_128X64_NONAME2_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4523. u8g2_Setup_ssd1309_128x64_noname2_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4524. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4525. }
  4526. };
  4527. class U8G2_SSD1309_128X64_NONAME2_2_8080 : public U8G2 {
  4528. public: U8G2_SSD1309_128X64_NONAME2_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4529. u8g2_Setup_ssd1309_128x64_noname2_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4530. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4531. }
  4532. };
  4533. class U8G2_SSD1309_128X64_NONAME2_F_4W_SW_SPI : public U8G2 {
  4534. public: U8G2_SSD1309_128X64_NONAME2_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4535. u8g2_Setup_ssd1309_128x64_noname2_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4536. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4537. }
  4538. };
  4539. #if defined U8G2_USE_HW_SPI
  4540. class U8G2_SSD1309_128X64_NONAME2_F_4W_HW_SPI : public U8G2 {
  4541. public: U8G2_SSD1309_128X64_NONAME2_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4542. u8g2_Setup_ssd1309_128x64_noname2_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4543. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4544. }
  4545. };
  4546. #endif
  4547. class U8G2_SSD1309_128X64_NONAME2_F_6800 : public U8G2 {
  4548. public: U8G2_SSD1309_128X64_NONAME2_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4549. u8g2_Setup_ssd1309_128x64_noname2_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4550. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4551. }
  4552. };
  4553. class U8G2_SSD1309_128X64_NONAME2_F_8080 : public U8G2 {
  4554. public: U8G2_SSD1309_128X64_NONAME2_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4555. u8g2_Setup_ssd1309_128x64_noname2_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4556. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4557. }
  4558. };
  4559. class U8G2_SSD1309_128X64_NONAME2_1_SW_I2C : public U8G2 {
  4560. public: U8G2_SSD1309_128X64_NONAME2_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4561. u8g2_Setup_ssd1309_i2c_128x64_noname2_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4562. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4563. }
  4564. };
  4565. #if defined U8G2_USE_HW_I2C
  4566. class U8G2_SSD1309_128X64_NONAME2_1_HW_I2C : public U8G2 {
  4567. public: U8G2_SSD1309_128X64_NONAME2_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4568. u8g2_Setup_ssd1309_i2c_128x64_noname2_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4569. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4570. }
  4571. };
  4572. #endif
  4573. class U8G2_SSD1309_128X64_NONAME2_2_SW_I2C : public U8G2 {
  4574. public: U8G2_SSD1309_128X64_NONAME2_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4575. u8g2_Setup_ssd1309_i2c_128x64_noname2_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4576. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4577. }
  4578. };
  4579. #if defined U8G2_USE_HW_I2C
  4580. class U8G2_SSD1309_128X64_NONAME2_2_HW_I2C : public U8G2 {
  4581. public: U8G2_SSD1309_128X64_NONAME2_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4582. u8g2_Setup_ssd1309_i2c_128x64_noname2_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4583. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4584. }
  4585. };
  4586. #endif
  4587. class U8G2_SSD1309_128X64_NONAME2_F_SW_I2C : public U8G2 {
  4588. public: U8G2_SSD1309_128X64_NONAME2_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4589. u8g2_Setup_ssd1309_i2c_128x64_noname2_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4590. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4591. }
  4592. };
  4593. #if defined U8G2_USE_HW_I2C
  4594. class U8G2_SSD1309_128X64_NONAME2_F_HW_I2C : public U8G2 {
  4595. public: U8G2_SSD1309_128X64_NONAME2_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4596. u8g2_Setup_ssd1309_i2c_128x64_noname2_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4597. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4598. }
  4599. };
  4600. #endif
  4601. class U8G2_SSD1309_128X64_NONAME0_1_4W_SW_SPI : public U8G2 {
  4602. public: U8G2_SSD1309_128X64_NONAME0_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4603. u8g2_Setup_ssd1309_128x64_noname0_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4604. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4605. }
  4606. };
  4607. #if defined U8G2_USE_HW_SPI
  4608. class U8G2_SSD1309_128X64_NONAME0_1_4W_HW_SPI : public U8G2 {
  4609. public: U8G2_SSD1309_128X64_NONAME0_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4610. u8g2_Setup_ssd1309_128x64_noname0_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4611. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4612. }
  4613. };
  4614. #endif
  4615. class U8G2_SSD1309_128X64_NONAME0_1_6800 : public U8G2 {
  4616. public: U8G2_SSD1309_128X64_NONAME0_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4617. u8g2_Setup_ssd1309_128x64_noname0_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4618. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4619. }
  4620. };
  4621. class U8G2_SSD1309_128X64_NONAME0_1_8080 : public U8G2 {
  4622. public: U8G2_SSD1309_128X64_NONAME0_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4623. u8g2_Setup_ssd1309_128x64_noname0_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4624. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4625. }
  4626. };
  4627. class U8G2_SSD1309_128X64_NONAME0_2_4W_SW_SPI : public U8G2 {
  4628. public: U8G2_SSD1309_128X64_NONAME0_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4629. u8g2_Setup_ssd1309_128x64_noname0_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4630. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4631. }
  4632. };
  4633. #if defined U8G2_USE_HW_SPI
  4634. class U8G2_SSD1309_128X64_NONAME0_2_4W_HW_SPI : public U8G2 {
  4635. public: U8G2_SSD1309_128X64_NONAME0_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4636. u8g2_Setup_ssd1309_128x64_noname0_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4637. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4638. }
  4639. };
  4640. #endif
  4641. class U8G2_SSD1309_128X64_NONAME0_2_6800 : public U8G2 {
  4642. public: U8G2_SSD1309_128X64_NONAME0_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4643. u8g2_Setup_ssd1309_128x64_noname0_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4644. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4645. }
  4646. };
  4647. class U8G2_SSD1309_128X64_NONAME0_2_8080 : public U8G2 {
  4648. public: U8G2_SSD1309_128X64_NONAME0_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4649. u8g2_Setup_ssd1309_128x64_noname0_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4650. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4651. }
  4652. };
  4653. class U8G2_SSD1309_128X64_NONAME0_F_4W_SW_SPI : public U8G2 {
  4654. public: U8G2_SSD1309_128X64_NONAME0_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4655. u8g2_Setup_ssd1309_128x64_noname0_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4656. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4657. }
  4658. };
  4659. #if defined U8G2_USE_HW_SPI
  4660. class U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI : public U8G2 {
  4661. public: U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4662. u8g2_Setup_ssd1309_128x64_noname0_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4663. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4664. }
  4665. };
  4666. #endif
  4667. class U8G2_SSD1309_128X64_NONAME0_F_6800 : public U8G2 {
  4668. public: U8G2_SSD1309_128X64_NONAME0_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4669. u8g2_Setup_ssd1309_128x64_noname0_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4670. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4671. }
  4672. };
  4673. class U8G2_SSD1309_128X64_NONAME0_F_8080 : public U8G2 {
  4674. public: U8G2_SSD1309_128X64_NONAME0_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4675. u8g2_Setup_ssd1309_128x64_noname0_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4676. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4677. }
  4678. };
  4679. class U8G2_SSD1309_128X64_NONAME0_1_SW_I2C : public U8G2 {
  4680. public: U8G2_SSD1309_128X64_NONAME0_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4681. u8g2_Setup_ssd1309_i2c_128x64_noname0_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4682. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4683. }
  4684. };
  4685. #if defined U8G2_USE_HW_I2C
  4686. class U8G2_SSD1309_128X64_NONAME0_1_HW_I2C : public U8G2 {
  4687. public: U8G2_SSD1309_128X64_NONAME0_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4688. u8g2_Setup_ssd1309_i2c_128x64_noname0_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4689. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4690. }
  4691. };
  4692. #endif
  4693. class U8G2_SSD1309_128X64_NONAME0_2_SW_I2C : public U8G2 {
  4694. public: U8G2_SSD1309_128X64_NONAME0_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4695. u8g2_Setup_ssd1309_i2c_128x64_noname0_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4696. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4697. }
  4698. };
  4699. #if defined U8G2_USE_HW_I2C
  4700. class U8G2_SSD1309_128X64_NONAME0_2_HW_I2C : public U8G2 {
  4701. public: U8G2_SSD1309_128X64_NONAME0_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4702. u8g2_Setup_ssd1309_i2c_128x64_noname0_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4703. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4704. }
  4705. };
  4706. #endif
  4707. class U8G2_SSD1309_128X64_NONAME0_F_SW_I2C : public U8G2 {
  4708. public: U8G2_SSD1309_128X64_NONAME0_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4709. u8g2_Setup_ssd1309_i2c_128x64_noname0_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4710. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4711. }
  4712. };
  4713. #if defined U8G2_USE_HW_I2C
  4714. class U8G2_SSD1309_128X64_NONAME0_F_HW_I2C : public U8G2 {
  4715. public: U8G2_SSD1309_128X64_NONAME0_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4716. u8g2_Setup_ssd1309_i2c_128x64_noname0_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4717. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4718. }
  4719. };
  4720. #endif
  4721. class U8G2_SSD1316_128X32_1_4W_SW_SPI : public U8G2 {
  4722. public: U8G2_SSD1316_128X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4723. u8g2_Setup_ssd1316_128x32_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4724. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4725. }
  4726. };
  4727. #if defined U8G2_USE_HW_SPI
  4728. class U8G2_SSD1316_128X32_1_4W_HW_SPI : public U8G2 {
  4729. public: U8G2_SSD1316_128X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4730. u8g2_Setup_ssd1316_128x32_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4731. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4732. }
  4733. };
  4734. #endif
  4735. class U8G2_SSD1316_128X32_1_6800 : public U8G2 {
  4736. public: U8G2_SSD1316_128X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4737. u8g2_Setup_ssd1316_128x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4738. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4739. }
  4740. };
  4741. class U8G2_SSD1316_128X32_1_8080 : public U8G2 {
  4742. public: U8G2_SSD1316_128X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4743. u8g2_Setup_ssd1316_128x32_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4744. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4745. }
  4746. };
  4747. class U8G2_SSD1316_128X32_2_4W_SW_SPI : public U8G2 {
  4748. public: U8G2_SSD1316_128X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4749. u8g2_Setup_ssd1316_128x32_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4750. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4751. }
  4752. };
  4753. #if defined U8G2_USE_HW_SPI
  4754. class U8G2_SSD1316_128X32_2_4W_HW_SPI : public U8G2 {
  4755. public: U8G2_SSD1316_128X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4756. u8g2_Setup_ssd1316_128x32_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4757. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4758. }
  4759. };
  4760. #endif
  4761. class U8G2_SSD1316_128X32_2_6800 : public U8G2 {
  4762. public: U8G2_SSD1316_128X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4763. u8g2_Setup_ssd1316_128x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4764. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4765. }
  4766. };
  4767. class U8G2_SSD1316_128X32_2_8080 : public U8G2 {
  4768. public: U8G2_SSD1316_128X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4769. u8g2_Setup_ssd1316_128x32_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4770. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4771. }
  4772. };
  4773. class U8G2_SSD1316_128X32_F_4W_SW_SPI : public U8G2 {
  4774. public: U8G2_SSD1316_128X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4775. u8g2_Setup_ssd1316_128x32_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4776. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4777. }
  4778. };
  4779. #if defined U8G2_USE_HW_SPI
  4780. class U8G2_SSD1316_128X32_F_4W_HW_SPI : public U8G2 {
  4781. public: U8G2_SSD1316_128X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4782. u8g2_Setup_ssd1316_128x32_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4783. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4784. }
  4785. };
  4786. #endif
  4787. class U8G2_SSD1316_128X32_F_6800 : public U8G2 {
  4788. public: U8G2_SSD1316_128X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4789. u8g2_Setup_ssd1316_128x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4790. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4791. }
  4792. };
  4793. class U8G2_SSD1316_128X32_F_8080 : public U8G2 {
  4794. public: U8G2_SSD1316_128X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4795. u8g2_Setup_ssd1316_128x32_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4796. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4797. }
  4798. };
  4799. class U8G2_SSD1316_128X32_1_SW_I2C : public U8G2 {
  4800. public: U8G2_SSD1316_128X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4801. u8g2_Setup_ssd1316_i2c_128x32_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4802. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4803. }
  4804. };
  4805. #if defined U8G2_USE_HW_I2C
  4806. class U8G2_SSD1316_128X32_1_HW_I2C : public U8G2 {
  4807. public: U8G2_SSD1316_128X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4808. u8g2_Setup_ssd1316_i2c_128x32_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4809. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4810. }
  4811. };
  4812. #endif
  4813. class U8G2_SSD1316_128X32_2_SW_I2C : public U8G2 {
  4814. public: U8G2_SSD1316_128X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4815. u8g2_Setup_ssd1316_i2c_128x32_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4816. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4817. }
  4818. };
  4819. #if defined U8G2_USE_HW_I2C
  4820. class U8G2_SSD1316_128X32_2_HW_I2C : public U8G2 {
  4821. public: U8G2_SSD1316_128X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4822. u8g2_Setup_ssd1316_i2c_128x32_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4823. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4824. }
  4825. };
  4826. #endif
  4827. class U8G2_SSD1316_128X32_F_SW_I2C : public U8G2 {
  4828. public: U8G2_SSD1316_128X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4829. u8g2_Setup_ssd1316_i2c_128x32_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4830. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4831. }
  4832. };
  4833. #if defined U8G2_USE_HW_I2C
  4834. class U8G2_SSD1316_128X32_F_HW_I2C : public U8G2 {
  4835. public: U8G2_SSD1316_128X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4836. u8g2_Setup_ssd1316_i2c_128x32_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4837. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4838. }
  4839. };
  4840. #endif
  4841. class U8G2_SSD1317_96X96_1_4W_SW_SPI : public U8G2 {
  4842. public: U8G2_SSD1317_96X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4843. u8g2_Setup_ssd1317_96x96_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4844. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4845. }
  4846. };
  4847. #if defined U8G2_USE_HW_SPI
  4848. class U8G2_SSD1317_96X96_1_4W_HW_SPI : public U8G2 {
  4849. public: U8G2_SSD1317_96X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4850. u8g2_Setup_ssd1317_96x96_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4851. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4852. }
  4853. };
  4854. #endif
  4855. class U8G2_SSD1317_96X96_1_6800 : public U8G2 {
  4856. public: U8G2_SSD1317_96X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4857. u8g2_Setup_ssd1317_96x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4858. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4859. }
  4860. };
  4861. class U8G2_SSD1317_96X96_1_8080 : public U8G2 {
  4862. public: U8G2_SSD1317_96X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4863. u8g2_Setup_ssd1317_96x96_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4864. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4865. }
  4866. };
  4867. class U8G2_SSD1317_96X96_2_4W_SW_SPI : public U8G2 {
  4868. public: U8G2_SSD1317_96X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4869. u8g2_Setup_ssd1317_96x96_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4870. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4871. }
  4872. };
  4873. #if defined U8G2_USE_HW_SPI
  4874. class U8G2_SSD1317_96X96_2_4W_HW_SPI : public U8G2 {
  4875. public: U8G2_SSD1317_96X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4876. u8g2_Setup_ssd1317_96x96_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4877. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4878. }
  4879. };
  4880. #endif
  4881. class U8G2_SSD1317_96X96_2_6800 : public U8G2 {
  4882. public: U8G2_SSD1317_96X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4883. u8g2_Setup_ssd1317_96x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4884. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4885. }
  4886. };
  4887. class U8G2_SSD1317_96X96_2_8080 : public U8G2 {
  4888. public: U8G2_SSD1317_96X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4889. u8g2_Setup_ssd1317_96x96_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4890. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4891. }
  4892. };
  4893. class U8G2_SSD1317_96X96_F_4W_SW_SPI : public U8G2 {
  4894. public: U8G2_SSD1317_96X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4895. u8g2_Setup_ssd1317_96x96_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4896. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4897. }
  4898. };
  4899. #if defined U8G2_USE_HW_SPI
  4900. class U8G2_SSD1317_96X96_F_4W_HW_SPI : public U8G2 {
  4901. public: U8G2_SSD1317_96X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4902. u8g2_Setup_ssd1317_96x96_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4903. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4904. }
  4905. };
  4906. #endif
  4907. class U8G2_SSD1317_96X96_F_6800 : public U8G2 {
  4908. public: U8G2_SSD1317_96X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4909. u8g2_Setup_ssd1317_96x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4910. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4911. }
  4912. };
  4913. class U8G2_SSD1317_96X96_F_8080 : public U8G2 {
  4914. public: U8G2_SSD1317_96X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4915. u8g2_Setup_ssd1317_96x96_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4916. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4917. }
  4918. };
  4919. class U8G2_SSD1317_96X96_1_SW_I2C : public U8G2 {
  4920. public: U8G2_SSD1317_96X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4921. u8g2_Setup_ssd1317_i2c_96x96_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4922. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4923. }
  4924. };
  4925. #if defined U8G2_USE_HW_I2C
  4926. class U8G2_SSD1317_96X96_1_HW_I2C : public U8G2 {
  4927. public: U8G2_SSD1317_96X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4928. u8g2_Setup_ssd1317_i2c_96x96_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4929. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4930. }
  4931. };
  4932. #endif
  4933. class U8G2_SSD1317_96X96_2_SW_I2C : public U8G2 {
  4934. public: U8G2_SSD1317_96X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4935. u8g2_Setup_ssd1317_i2c_96x96_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4936. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4937. }
  4938. };
  4939. #if defined U8G2_USE_HW_I2C
  4940. class U8G2_SSD1317_96X96_2_HW_I2C : public U8G2 {
  4941. public: U8G2_SSD1317_96X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4942. u8g2_Setup_ssd1317_i2c_96x96_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4943. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4944. }
  4945. };
  4946. #endif
  4947. class U8G2_SSD1317_96X96_F_SW_I2C : public U8G2 {
  4948. public: U8G2_SSD1317_96X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4949. u8g2_Setup_ssd1317_i2c_96x96_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  4950. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  4951. }
  4952. };
  4953. #if defined U8G2_USE_HW_I2C
  4954. class U8G2_SSD1317_96X96_F_HW_I2C : public U8G2 {
  4955. public: U8G2_SSD1317_96X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  4956. u8g2_Setup_ssd1317_i2c_96x96_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  4957. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  4958. }
  4959. };
  4960. #endif
  4961. class U8G2_SSD1318_128X96_1_4W_SW_SPI : public U8G2 {
  4962. public: U8G2_SSD1318_128X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4963. u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4964. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4965. }
  4966. };
  4967. #if defined U8G2_USE_HW_SPI
  4968. class U8G2_SSD1318_128X96_1_4W_HW_SPI : public U8G2 {
  4969. public: U8G2_SSD1318_128X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4970. u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  4971. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  4972. }
  4973. };
  4974. #endif
  4975. class U8G2_SSD1318_128X96_1_3W_SW_SPI : public U8G2 {
  4976. public: U8G2_SSD1318_128X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4977. u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4978. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  4979. }
  4980. };
  4981. class U8G2_SSD1318_128X96_1_6800 : public U8G2 {
  4982. public: U8G2_SSD1318_128X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4983. u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  4984. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4985. }
  4986. };
  4987. class U8G2_SSD1318_128X96_1_8080 : public U8G2 {
  4988. public: U8G2_SSD1318_128X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4989. u8g2_Setup_ssd1318_128x96_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  4990. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  4991. }
  4992. };
  4993. class U8G2_SSD1318_128X96_XCP_1_4W_SW_SPI : public U8G2 {
  4994. public: U8G2_SSD1318_128X96_XCP_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  4995. u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  4996. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  4997. }
  4998. };
  4999. #if defined U8G2_USE_HW_SPI
  5000. class U8G2_SSD1318_128X96_XCP_1_4W_HW_SPI : public U8G2 {
  5001. public: U8G2_SSD1318_128X96_XCP_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5002. u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5003. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5004. }
  5005. };
  5006. #endif
  5007. class U8G2_SSD1318_128X96_XCP_1_3W_SW_SPI : public U8G2 {
  5008. public: U8G2_SSD1318_128X96_XCP_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5009. u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5010. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5011. }
  5012. };
  5013. class U8G2_SSD1318_128X96_XCP_1_6800 : public U8G2 {
  5014. public: U8G2_SSD1318_128X96_XCP_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5015. u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5016. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5017. }
  5018. };
  5019. class U8G2_SSD1318_128X96_XCP_1_8080 : public U8G2 {
  5020. public: U8G2_SSD1318_128X96_XCP_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5021. u8g2_Setup_ssd1318_128x96_xcp_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5022. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5023. }
  5024. };
  5025. class U8G2_SSD1318_128X96_2_4W_SW_SPI : public U8G2 {
  5026. public: U8G2_SSD1318_128X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5027. u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5028. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5029. }
  5030. };
  5031. #if defined U8G2_USE_HW_SPI
  5032. class U8G2_SSD1318_128X96_2_4W_HW_SPI : public U8G2 {
  5033. public: U8G2_SSD1318_128X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5034. u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5035. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5036. }
  5037. };
  5038. #endif
  5039. class U8G2_SSD1318_128X96_2_3W_SW_SPI : public U8G2 {
  5040. public: U8G2_SSD1318_128X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5041. u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5042. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5043. }
  5044. };
  5045. class U8G2_SSD1318_128X96_2_6800 : public U8G2 {
  5046. public: U8G2_SSD1318_128X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5047. u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5048. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5049. }
  5050. };
  5051. class U8G2_SSD1318_128X96_2_8080 : public U8G2 {
  5052. public: U8G2_SSD1318_128X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5053. u8g2_Setup_ssd1318_128x96_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5054. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5055. }
  5056. };
  5057. class U8G2_SSD1318_128X96_XCP_2_4W_SW_SPI : public U8G2 {
  5058. public: U8G2_SSD1318_128X96_XCP_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5059. u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5060. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5061. }
  5062. };
  5063. #if defined U8G2_USE_HW_SPI
  5064. class U8G2_SSD1318_128X96_XCP_2_4W_HW_SPI : public U8G2 {
  5065. public: U8G2_SSD1318_128X96_XCP_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5066. u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5067. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5068. }
  5069. };
  5070. #endif
  5071. class U8G2_SSD1318_128X96_XCP_2_3W_SW_SPI : public U8G2 {
  5072. public: U8G2_SSD1318_128X96_XCP_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5073. u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5074. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5075. }
  5076. };
  5077. class U8G2_SSD1318_128X96_XCP_2_6800 : public U8G2 {
  5078. public: U8G2_SSD1318_128X96_XCP_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5079. u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5080. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5081. }
  5082. };
  5083. class U8G2_SSD1318_128X96_XCP_2_8080 : public U8G2 {
  5084. public: U8G2_SSD1318_128X96_XCP_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5085. u8g2_Setup_ssd1318_128x96_xcp_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5086. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5087. }
  5088. };
  5089. class U8G2_SSD1318_128X96_F_4W_SW_SPI : public U8G2 {
  5090. public: U8G2_SSD1318_128X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5091. u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5092. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5093. }
  5094. };
  5095. #if defined U8G2_USE_HW_SPI
  5096. class U8G2_SSD1318_128X96_F_4W_HW_SPI : public U8G2 {
  5097. public: U8G2_SSD1318_128X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5098. u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5099. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5100. }
  5101. };
  5102. #endif
  5103. class U8G2_SSD1318_128X96_F_3W_SW_SPI : public U8G2 {
  5104. public: U8G2_SSD1318_128X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5105. u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5106. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5107. }
  5108. };
  5109. class U8G2_SSD1318_128X96_F_6800 : public U8G2 {
  5110. public: U8G2_SSD1318_128X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5111. u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5112. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5113. }
  5114. };
  5115. class U8G2_SSD1318_128X96_F_8080 : public U8G2 {
  5116. public: U8G2_SSD1318_128X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5117. u8g2_Setup_ssd1318_128x96_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5118. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5119. }
  5120. };
  5121. class U8G2_SSD1318_128X96_XCP_F_4W_SW_SPI : public U8G2 {
  5122. public: U8G2_SSD1318_128X96_XCP_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5123. u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5124. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5125. }
  5126. };
  5127. #if defined U8G2_USE_HW_SPI
  5128. class U8G2_SSD1318_128X96_XCP_F_4W_HW_SPI : public U8G2 {
  5129. public: U8G2_SSD1318_128X96_XCP_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5130. u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5131. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5132. }
  5133. };
  5134. #endif
  5135. class U8G2_SSD1318_128X96_XCP_F_3W_SW_SPI : public U8G2 {
  5136. public: U8G2_SSD1318_128X96_XCP_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5137. u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5138. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5139. }
  5140. };
  5141. class U8G2_SSD1318_128X96_XCP_F_6800 : public U8G2 {
  5142. public: U8G2_SSD1318_128X96_XCP_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5143. u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5144. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5145. }
  5146. };
  5147. class U8G2_SSD1318_128X96_XCP_F_8080 : public U8G2 {
  5148. public: U8G2_SSD1318_128X96_XCP_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5149. u8g2_Setup_ssd1318_128x96_xcp_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5150. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5151. }
  5152. };
  5153. class U8G2_SSD1318_128X96_1_SW_I2C : public U8G2 {
  5154. public: U8G2_SSD1318_128X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5155. u8g2_Setup_ssd1318_i2c_128x96_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5156. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5157. }
  5158. };
  5159. #if defined U8G2_USE_HW_I2C
  5160. class U8G2_SSD1318_128X96_1_HW_I2C : public U8G2 {
  5161. public: U8G2_SSD1318_128X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5162. u8g2_Setup_ssd1318_i2c_128x96_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5163. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5164. }
  5165. };
  5166. #endif
  5167. class U8G2_SSD1318_128X96_XCP_1_SW_I2C : public U8G2 {
  5168. public: U8G2_SSD1318_128X96_XCP_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5169. u8g2_Setup_ssd1318_i2c_128x96_xcp_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5170. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5171. }
  5172. };
  5173. #if defined U8G2_USE_HW_I2C
  5174. class U8G2_SSD1318_128X96_XCP_1_HW_I2C : public U8G2 {
  5175. public: U8G2_SSD1318_128X96_XCP_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5176. u8g2_Setup_ssd1318_i2c_128x96_xcp_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5177. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5178. }
  5179. };
  5180. #endif
  5181. class U8G2_SSD1318_128X96_2_SW_I2C : public U8G2 {
  5182. public: U8G2_SSD1318_128X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5183. u8g2_Setup_ssd1318_i2c_128x96_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5184. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5185. }
  5186. };
  5187. #if defined U8G2_USE_HW_I2C
  5188. class U8G2_SSD1318_128X96_2_HW_I2C : public U8G2 {
  5189. public: U8G2_SSD1318_128X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5190. u8g2_Setup_ssd1318_i2c_128x96_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5191. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5192. }
  5193. };
  5194. #endif
  5195. class U8G2_SSD1318_128X96_XCP_2_SW_I2C : public U8G2 {
  5196. public: U8G2_SSD1318_128X96_XCP_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5197. u8g2_Setup_ssd1318_i2c_128x96_xcp_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5198. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5199. }
  5200. };
  5201. #if defined U8G2_USE_HW_I2C
  5202. class U8G2_SSD1318_128X96_XCP_2_HW_I2C : public U8G2 {
  5203. public: U8G2_SSD1318_128X96_XCP_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5204. u8g2_Setup_ssd1318_i2c_128x96_xcp_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5205. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5206. }
  5207. };
  5208. #endif
  5209. class U8G2_SSD1318_128X96_F_SW_I2C : public U8G2 {
  5210. public: U8G2_SSD1318_128X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5211. u8g2_Setup_ssd1318_i2c_128x96_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5212. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5213. }
  5214. };
  5215. #if defined U8G2_USE_HW_I2C
  5216. class U8G2_SSD1318_128X96_F_HW_I2C : public U8G2 {
  5217. public: U8G2_SSD1318_128X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5218. u8g2_Setup_ssd1318_i2c_128x96_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5219. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5220. }
  5221. };
  5222. #endif
  5223. class U8G2_SSD1318_128X96_XCP_F_SW_I2C : public U8G2 {
  5224. public: U8G2_SSD1318_128X96_XCP_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5225. u8g2_Setup_ssd1318_i2c_128x96_xcp_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5226. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5227. }
  5228. };
  5229. #if defined U8G2_USE_HW_I2C
  5230. class U8G2_SSD1318_128X96_XCP_F_HW_I2C : public U8G2 {
  5231. public: U8G2_SSD1318_128X96_XCP_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5232. u8g2_Setup_ssd1318_i2c_128x96_xcp_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5233. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5234. }
  5235. };
  5236. #endif
  5237. class U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI : public U8G2 {
  5238. public: U8G2_SSD1325_NHD_128X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5239. u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5240. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5241. }
  5242. };
  5243. #if defined U8G2_USE_HW_SPI
  5244. class U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI : public U8G2 {
  5245. public: U8G2_SSD1325_NHD_128X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5246. u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5247. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5248. }
  5249. };
  5250. #endif
  5251. class U8G2_SSD1325_NHD_128X64_1_3W_SW_SPI : public U8G2 {
  5252. public: U8G2_SSD1325_NHD_128X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5253. u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5254. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5255. }
  5256. };
  5257. class U8G2_SSD1325_NHD_128X64_1_6800 : public U8G2 {
  5258. public: U8G2_SSD1325_NHD_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5259. u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5260. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5261. }
  5262. };
  5263. class U8G2_SSD1325_NHD_128X64_1_8080 : public U8G2 {
  5264. public: U8G2_SSD1325_NHD_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5265. u8g2_Setup_ssd1325_nhd_128x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5266. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5267. }
  5268. };
  5269. class U8G2_SSD1325_NHD_128X64_2_4W_SW_SPI : public U8G2 {
  5270. public: U8G2_SSD1325_NHD_128X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5271. u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5272. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5273. }
  5274. };
  5275. #if defined U8G2_USE_HW_SPI
  5276. class U8G2_SSD1325_NHD_128X64_2_4W_HW_SPI : public U8G2 {
  5277. public: U8G2_SSD1325_NHD_128X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5278. u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5279. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5280. }
  5281. };
  5282. #endif
  5283. class U8G2_SSD1325_NHD_128X64_2_3W_SW_SPI : public U8G2 {
  5284. public: U8G2_SSD1325_NHD_128X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5285. u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5286. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5287. }
  5288. };
  5289. class U8G2_SSD1325_NHD_128X64_2_6800 : public U8G2 {
  5290. public: U8G2_SSD1325_NHD_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5291. u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5292. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5293. }
  5294. };
  5295. class U8G2_SSD1325_NHD_128X64_2_8080 : public U8G2 {
  5296. public: U8G2_SSD1325_NHD_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5297. u8g2_Setup_ssd1325_nhd_128x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5298. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5299. }
  5300. };
  5301. class U8G2_SSD1325_NHD_128X64_F_4W_SW_SPI : public U8G2 {
  5302. public: U8G2_SSD1325_NHD_128X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5303. u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5304. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5305. }
  5306. };
  5307. #if defined U8G2_USE_HW_SPI
  5308. class U8G2_SSD1325_NHD_128X64_F_4W_HW_SPI : public U8G2 {
  5309. public: U8G2_SSD1325_NHD_128X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5310. u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5311. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5312. }
  5313. };
  5314. #endif
  5315. class U8G2_SSD1325_NHD_128X64_F_3W_SW_SPI : public U8G2 {
  5316. public: U8G2_SSD1325_NHD_128X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5317. u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5318. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5319. }
  5320. };
  5321. class U8G2_SSD1325_NHD_128X64_F_6800 : public U8G2 {
  5322. public: U8G2_SSD1325_NHD_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5323. u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5324. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5325. }
  5326. };
  5327. class U8G2_SSD1325_NHD_128X64_F_8080 : public U8G2 {
  5328. public: U8G2_SSD1325_NHD_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5329. u8g2_Setup_ssd1325_nhd_128x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5330. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5331. }
  5332. };
  5333. class U8G2_SSD1325_NHD_128X64_1_SW_I2C : public U8G2 {
  5334. public: U8G2_SSD1325_NHD_128X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5335. u8g2_Setup_ssd1325_i2c_nhd_128x64_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5336. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5337. }
  5338. };
  5339. #if defined U8G2_USE_HW_I2C
  5340. class U8G2_SSD1325_NHD_128X64_1_HW_I2C : public U8G2 {
  5341. public: U8G2_SSD1325_NHD_128X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5342. u8g2_Setup_ssd1325_i2c_nhd_128x64_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5343. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5344. }
  5345. };
  5346. #endif
  5347. class U8G2_SSD1325_NHD_128X64_2_SW_I2C : public U8G2 {
  5348. public: U8G2_SSD1325_NHD_128X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5349. u8g2_Setup_ssd1325_i2c_nhd_128x64_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5350. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5351. }
  5352. };
  5353. #if defined U8G2_USE_HW_I2C
  5354. class U8G2_SSD1325_NHD_128X64_2_HW_I2C : public U8G2 {
  5355. public: U8G2_SSD1325_NHD_128X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5356. u8g2_Setup_ssd1325_i2c_nhd_128x64_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5357. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5358. }
  5359. };
  5360. #endif
  5361. class U8G2_SSD1325_NHD_128X64_F_SW_I2C : public U8G2 {
  5362. public: U8G2_SSD1325_NHD_128X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5363. u8g2_Setup_ssd1325_i2c_nhd_128x64_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5364. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5365. }
  5366. };
  5367. #if defined U8G2_USE_HW_I2C
  5368. class U8G2_SSD1325_NHD_128X64_F_HW_I2C : public U8G2 {
  5369. public: U8G2_SSD1325_NHD_128X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5370. u8g2_Setup_ssd1325_i2c_nhd_128x64_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5371. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5372. }
  5373. };
  5374. #endif
  5375. class U8G2_SSD0323_OS128064_1_4W_SW_SPI : public U8G2 {
  5376. public: U8G2_SSD0323_OS128064_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5377. u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5378. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5379. }
  5380. };
  5381. #if defined U8G2_USE_HW_SPI
  5382. class U8G2_SSD0323_OS128064_1_4W_HW_SPI : public U8G2 {
  5383. public: U8G2_SSD0323_OS128064_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5384. u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5385. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5386. }
  5387. };
  5388. #endif
  5389. class U8G2_SSD0323_OS128064_1_3W_SW_SPI : public U8G2 {
  5390. public: U8G2_SSD0323_OS128064_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5391. u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5392. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5393. }
  5394. };
  5395. class U8G2_SSD0323_OS128064_1_6800 : public U8G2 {
  5396. public: U8G2_SSD0323_OS128064_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5397. u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5398. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5399. }
  5400. };
  5401. class U8G2_SSD0323_OS128064_1_8080 : public U8G2 {
  5402. public: U8G2_SSD0323_OS128064_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5403. u8g2_Setup_ssd0323_os128064_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5404. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5405. }
  5406. };
  5407. class U8G2_SSD0323_OS128064_2_4W_SW_SPI : public U8G2 {
  5408. public: U8G2_SSD0323_OS128064_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5409. u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5410. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5411. }
  5412. };
  5413. #if defined U8G2_USE_HW_SPI
  5414. class U8G2_SSD0323_OS128064_2_4W_HW_SPI : public U8G2 {
  5415. public: U8G2_SSD0323_OS128064_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5416. u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5417. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5418. }
  5419. };
  5420. #endif
  5421. class U8G2_SSD0323_OS128064_2_3W_SW_SPI : public U8G2 {
  5422. public: U8G2_SSD0323_OS128064_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5423. u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5424. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5425. }
  5426. };
  5427. class U8G2_SSD0323_OS128064_2_6800 : public U8G2 {
  5428. public: U8G2_SSD0323_OS128064_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5429. u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5430. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5431. }
  5432. };
  5433. class U8G2_SSD0323_OS128064_2_8080 : public U8G2 {
  5434. public: U8G2_SSD0323_OS128064_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5435. u8g2_Setup_ssd0323_os128064_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5436. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5437. }
  5438. };
  5439. class U8G2_SSD0323_OS128064_F_4W_SW_SPI : public U8G2 {
  5440. public: U8G2_SSD0323_OS128064_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5441. u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5442. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5443. }
  5444. };
  5445. #if defined U8G2_USE_HW_SPI
  5446. class U8G2_SSD0323_OS128064_F_4W_HW_SPI : public U8G2 {
  5447. public: U8G2_SSD0323_OS128064_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5448. u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5449. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5450. }
  5451. };
  5452. #endif
  5453. class U8G2_SSD0323_OS128064_F_3W_SW_SPI : public U8G2 {
  5454. public: U8G2_SSD0323_OS128064_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5455. u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5456. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5457. }
  5458. };
  5459. class U8G2_SSD0323_OS128064_F_6800 : public U8G2 {
  5460. public: U8G2_SSD0323_OS128064_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5461. u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5462. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5463. }
  5464. };
  5465. class U8G2_SSD0323_OS128064_F_8080 : public U8G2 {
  5466. public: U8G2_SSD0323_OS128064_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5467. u8g2_Setup_ssd0323_os128064_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5468. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5469. }
  5470. };
  5471. class U8G2_SSD0323_OS128064_1_SW_I2C : public U8G2 {
  5472. public: U8G2_SSD0323_OS128064_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5473. u8g2_Setup_ssd0323_i2c_os128064_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5474. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5475. }
  5476. };
  5477. #if defined U8G2_USE_HW_I2C
  5478. class U8G2_SSD0323_OS128064_1_HW_I2C : public U8G2 {
  5479. public: U8G2_SSD0323_OS128064_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5480. u8g2_Setup_ssd0323_i2c_os128064_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5481. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5482. }
  5483. };
  5484. #endif
  5485. class U8G2_SSD0323_OS128064_2_SW_I2C : public U8G2 {
  5486. public: U8G2_SSD0323_OS128064_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5487. u8g2_Setup_ssd0323_i2c_os128064_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5488. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5489. }
  5490. };
  5491. #if defined U8G2_USE_HW_I2C
  5492. class U8G2_SSD0323_OS128064_2_HW_I2C : public U8G2 {
  5493. public: U8G2_SSD0323_OS128064_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5494. u8g2_Setup_ssd0323_i2c_os128064_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5495. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5496. }
  5497. };
  5498. #endif
  5499. class U8G2_SSD0323_OS128064_F_SW_I2C : public U8G2 {
  5500. public: U8G2_SSD0323_OS128064_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5501. u8g2_Setup_ssd0323_i2c_os128064_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5502. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5503. }
  5504. };
  5505. #if defined U8G2_USE_HW_I2C
  5506. class U8G2_SSD0323_OS128064_F_HW_I2C : public U8G2 {
  5507. public: U8G2_SSD0323_OS128064_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5508. u8g2_Setup_ssd0323_i2c_os128064_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5509. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5510. }
  5511. };
  5512. #endif
  5513. class U8G2_SSD1326_ER_256X32_1_4W_SW_SPI : public U8G2 {
  5514. public: U8G2_SSD1326_ER_256X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5515. u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5516. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5517. }
  5518. };
  5519. #if defined U8G2_USE_HW_SPI
  5520. class U8G2_SSD1326_ER_256X32_1_4W_HW_SPI : public U8G2 {
  5521. public: U8G2_SSD1326_ER_256X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5522. u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5523. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5524. }
  5525. };
  5526. #endif
  5527. class U8G2_SSD1326_ER_256X32_1_3W_SW_SPI : public U8G2 {
  5528. public: U8G2_SSD1326_ER_256X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5529. u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5530. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5531. }
  5532. };
  5533. class U8G2_SSD1326_ER_256X32_1_6800 : public U8G2 {
  5534. public: U8G2_SSD1326_ER_256X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5535. u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5536. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5537. }
  5538. };
  5539. class U8G2_SSD1326_ER_256X32_1_8080 : public U8G2 {
  5540. public: U8G2_SSD1326_ER_256X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5541. u8g2_Setup_ssd1326_er_256x32_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5542. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5543. }
  5544. };
  5545. class U8G2_SSD1326_ER_256X32_2_4W_SW_SPI : public U8G2 {
  5546. public: U8G2_SSD1326_ER_256X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5547. u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5548. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5549. }
  5550. };
  5551. #if defined U8G2_USE_HW_SPI
  5552. class U8G2_SSD1326_ER_256X32_2_4W_HW_SPI : public U8G2 {
  5553. public: U8G2_SSD1326_ER_256X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5554. u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5555. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5556. }
  5557. };
  5558. #endif
  5559. class U8G2_SSD1326_ER_256X32_2_3W_SW_SPI : public U8G2 {
  5560. public: U8G2_SSD1326_ER_256X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5561. u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5562. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5563. }
  5564. };
  5565. class U8G2_SSD1326_ER_256X32_2_6800 : public U8G2 {
  5566. public: U8G2_SSD1326_ER_256X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5567. u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5568. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5569. }
  5570. };
  5571. class U8G2_SSD1326_ER_256X32_2_8080 : public U8G2 {
  5572. public: U8G2_SSD1326_ER_256X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5573. u8g2_Setup_ssd1326_er_256x32_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5574. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5575. }
  5576. };
  5577. class U8G2_SSD1326_ER_256X32_F_4W_SW_SPI : public U8G2 {
  5578. public: U8G2_SSD1326_ER_256X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5579. u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5580. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5581. }
  5582. };
  5583. #if defined U8G2_USE_HW_SPI
  5584. class U8G2_SSD1326_ER_256X32_F_4W_HW_SPI : public U8G2 {
  5585. public: U8G2_SSD1326_ER_256X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5586. u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5587. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5588. }
  5589. };
  5590. #endif
  5591. class U8G2_SSD1326_ER_256X32_F_3W_SW_SPI : public U8G2 {
  5592. public: U8G2_SSD1326_ER_256X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5593. u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5594. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5595. }
  5596. };
  5597. class U8G2_SSD1326_ER_256X32_F_6800 : public U8G2 {
  5598. public: U8G2_SSD1326_ER_256X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5599. u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5600. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5601. }
  5602. };
  5603. class U8G2_SSD1326_ER_256X32_F_8080 : public U8G2 {
  5604. public: U8G2_SSD1326_ER_256X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5605. u8g2_Setup_ssd1326_er_256x32_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5606. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5607. }
  5608. };
  5609. class U8G2_SSD1326_ER_256X32_1_SW_I2C : public U8G2 {
  5610. public: U8G2_SSD1326_ER_256X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5611. u8g2_Setup_ssd1326_i2c_er_256x32_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5612. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5613. }
  5614. };
  5615. #if defined U8G2_USE_HW_I2C
  5616. class U8G2_SSD1326_ER_256X32_1_HW_I2C : public U8G2 {
  5617. public: U8G2_SSD1326_ER_256X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5618. u8g2_Setup_ssd1326_i2c_er_256x32_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5619. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5620. }
  5621. };
  5622. #endif
  5623. class U8G2_SSD1326_ER_256X32_2_SW_I2C : public U8G2 {
  5624. public: U8G2_SSD1326_ER_256X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5625. u8g2_Setup_ssd1326_i2c_er_256x32_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5626. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5627. }
  5628. };
  5629. #if defined U8G2_USE_HW_I2C
  5630. class U8G2_SSD1326_ER_256X32_2_HW_I2C : public U8G2 {
  5631. public: U8G2_SSD1326_ER_256X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5632. u8g2_Setup_ssd1326_i2c_er_256x32_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5633. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5634. }
  5635. };
  5636. #endif
  5637. class U8G2_SSD1326_ER_256X32_F_SW_I2C : public U8G2 {
  5638. public: U8G2_SSD1326_ER_256X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5639. u8g2_Setup_ssd1326_i2c_er_256x32_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5640. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5641. }
  5642. };
  5643. #if defined U8G2_USE_HW_I2C
  5644. class U8G2_SSD1326_ER_256X32_F_HW_I2C : public U8G2 {
  5645. public: U8G2_SSD1326_ER_256X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5646. u8g2_Setup_ssd1326_i2c_er_256x32_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5647. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5648. }
  5649. };
  5650. #endif
  5651. class U8G2_SSD1327_WS_96X64_1_4W_SW_SPI : public U8G2 {
  5652. public: U8G2_SSD1327_WS_96X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5653. u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5654. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5655. }
  5656. };
  5657. #if defined U8G2_USE_HW_SPI
  5658. class U8G2_SSD1327_WS_96X64_1_4W_HW_SPI : public U8G2 {
  5659. public: U8G2_SSD1327_WS_96X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5660. u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5661. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5662. }
  5663. };
  5664. #endif
  5665. class U8G2_SSD1327_WS_96X64_1_3W_SW_SPI : public U8G2 {
  5666. public: U8G2_SSD1327_WS_96X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5667. u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5668. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5669. }
  5670. };
  5671. class U8G2_SSD1327_WS_96X64_1_6800 : public U8G2 {
  5672. public: U8G2_SSD1327_WS_96X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5673. u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5674. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5675. }
  5676. };
  5677. class U8G2_SSD1327_WS_96X64_1_8080 : public U8G2 {
  5678. public: U8G2_SSD1327_WS_96X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5679. u8g2_Setup_ssd1327_ws_96x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5680. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5681. }
  5682. };
  5683. class U8G2_SSD1327_WS_96X64_2_4W_SW_SPI : public U8G2 {
  5684. public: U8G2_SSD1327_WS_96X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5685. u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5686. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5687. }
  5688. };
  5689. #if defined U8G2_USE_HW_SPI
  5690. class U8G2_SSD1327_WS_96X64_2_4W_HW_SPI : public U8G2 {
  5691. public: U8G2_SSD1327_WS_96X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5692. u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5693. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5694. }
  5695. };
  5696. #endif
  5697. class U8G2_SSD1327_WS_96X64_2_3W_SW_SPI : public U8G2 {
  5698. public: U8G2_SSD1327_WS_96X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5699. u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5700. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5701. }
  5702. };
  5703. class U8G2_SSD1327_WS_96X64_2_6800 : public U8G2 {
  5704. public: U8G2_SSD1327_WS_96X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5705. u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5706. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5707. }
  5708. };
  5709. class U8G2_SSD1327_WS_96X64_2_8080 : public U8G2 {
  5710. public: U8G2_SSD1327_WS_96X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5711. u8g2_Setup_ssd1327_ws_96x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5712. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5713. }
  5714. };
  5715. class U8G2_SSD1327_WS_96X64_F_4W_SW_SPI : public U8G2 {
  5716. public: U8G2_SSD1327_WS_96X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5717. u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5718. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5719. }
  5720. };
  5721. #if defined U8G2_USE_HW_SPI
  5722. class U8G2_SSD1327_WS_96X64_F_4W_HW_SPI : public U8G2 {
  5723. public: U8G2_SSD1327_WS_96X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5724. u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5725. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5726. }
  5727. };
  5728. #endif
  5729. class U8G2_SSD1327_WS_96X64_F_3W_SW_SPI : public U8G2 {
  5730. public: U8G2_SSD1327_WS_96X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5731. u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5732. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5733. }
  5734. };
  5735. class U8G2_SSD1327_WS_96X64_F_6800 : public U8G2 {
  5736. public: U8G2_SSD1327_WS_96X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5737. u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5738. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5739. }
  5740. };
  5741. class U8G2_SSD1327_WS_96X64_F_8080 : public U8G2 {
  5742. public: U8G2_SSD1327_WS_96X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5743. u8g2_Setup_ssd1327_ws_96x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5744. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5745. }
  5746. };
  5747. class U8G2_SSD1327_WS_96X64_1_SW_I2C : public U8G2 {
  5748. public: U8G2_SSD1327_WS_96X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5749. u8g2_Setup_ssd1327_i2c_ws_96x64_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5750. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5751. }
  5752. };
  5753. #if defined U8G2_USE_HW_I2C
  5754. class U8G2_SSD1327_WS_96X64_1_HW_I2C : public U8G2 {
  5755. public: U8G2_SSD1327_WS_96X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5756. u8g2_Setup_ssd1327_i2c_ws_96x64_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5757. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5758. }
  5759. };
  5760. #endif
  5761. class U8G2_SSD1327_WS_96X64_2_SW_I2C : public U8G2 {
  5762. public: U8G2_SSD1327_WS_96X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5763. u8g2_Setup_ssd1327_i2c_ws_96x64_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5764. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5765. }
  5766. };
  5767. #if defined U8G2_USE_HW_I2C
  5768. class U8G2_SSD1327_WS_96X64_2_HW_I2C : public U8G2 {
  5769. public: U8G2_SSD1327_WS_96X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5770. u8g2_Setup_ssd1327_i2c_ws_96x64_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5771. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5772. }
  5773. };
  5774. #endif
  5775. class U8G2_SSD1327_WS_96X64_F_SW_I2C : public U8G2 {
  5776. public: U8G2_SSD1327_WS_96X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5777. u8g2_Setup_ssd1327_i2c_ws_96x64_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5778. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5779. }
  5780. };
  5781. #if defined U8G2_USE_HW_I2C
  5782. class U8G2_SSD1327_WS_96X64_F_HW_I2C : public U8G2 {
  5783. public: U8G2_SSD1327_WS_96X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5784. u8g2_Setup_ssd1327_i2c_ws_96x64_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5785. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5786. }
  5787. };
  5788. #endif
  5789. class U8G2_SSD1327_SEEED_96X96_1_4W_SW_SPI : public U8G2 {
  5790. public: U8G2_SSD1327_SEEED_96X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5791. u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5792. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5793. }
  5794. };
  5795. #if defined U8G2_USE_HW_SPI
  5796. class U8G2_SSD1327_SEEED_96X96_1_4W_HW_SPI : public U8G2 {
  5797. public: U8G2_SSD1327_SEEED_96X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5798. u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5799. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5800. }
  5801. };
  5802. #endif
  5803. class U8G2_SSD1327_SEEED_96X96_1_3W_SW_SPI : public U8G2 {
  5804. public: U8G2_SSD1327_SEEED_96X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5805. u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5806. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5807. }
  5808. };
  5809. class U8G2_SSD1327_SEEED_96X96_1_6800 : public U8G2 {
  5810. public: U8G2_SSD1327_SEEED_96X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5811. u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5812. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5813. }
  5814. };
  5815. class U8G2_SSD1327_SEEED_96X96_1_8080 : public U8G2 {
  5816. public: U8G2_SSD1327_SEEED_96X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5817. u8g2_Setup_ssd1327_seeed_96x96_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5818. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5819. }
  5820. };
  5821. class U8G2_SSD1327_SEEED_96X96_2_4W_SW_SPI : public U8G2 {
  5822. public: U8G2_SSD1327_SEEED_96X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5823. u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5824. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5825. }
  5826. };
  5827. #if defined U8G2_USE_HW_SPI
  5828. class U8G2_SSD1327_SEEED_96X96_2_4W_HW_SPI : public U8G2 {
  5829. public: U8G2_SSD1327_SEEED_96X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5830. u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5831. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5832. }
  5833. };
  5834. #endif
  5835. class U8G2_SSD1327_SEEED_96X96_2_3W_SW_SPI : public U8G2 {
  5836. public: U8G2_SSD1327_SEEED_96X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5837. u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5838. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5839. }
  5840. };
  5841. class U8G2_SSD1327_SEEED_96X96_2_6800 : public U8G2 {
  5842. public: U8G2_SSD1327_SEEED_96X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5843. u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5844. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5845. }
  5846. };
  5847. class U8G2_SSD1327_SEEED_96X96_2_8080 : public U8G2 {
  5848. public: U8G2_SSD1327_SEEED_96X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5849. u8g2_Setup_ssd1327_seeed_96x96_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5850. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5851. }
  5852. };
  5853. class U8G2_SSD1327_SEEED_96X96_F_4W_SW_SPI : public U8G2 {
  5854. public: U8G2_SSD1327_SEEED_96X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5855. u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5856. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5857. }
  5858. };
  5859. #if defined U8G2_USE_HW_SPI
  5860. class U8G2_SSD1327_SEEED_96X96_F_4W_HW_SPI : public U8G2 {
  5861. public: U8G2_SSD1327_SEEED_96X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5862. u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5863. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5864. }
  5865. };
  5866. #endif
  5867. class U8G2_SSD1327_SEEED_96X96_F_3W_SW_SPI : public U8G2 {
  5868. public: U8G2_SSD1327_SEEED_96X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5869. u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5870. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5871. }
  5872. };
  5873. class U8G2_SSD1327_SEEED_96X96_F_6800 : public U8G2 {
  5874. public: U8G2_SSD1327_SEEED_96X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5875. u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5876. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5877. }
  5878. };
  5879. class U8G2_SSD1327_SEEED_96X96_F_8080 : public U8G2 {
  5880. public: U8G2_SSD1327_SEEED_96X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5881. u8g2_Setup_ssd1327_seeed_96x96_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5882. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5883. }
  5884. };
  5885. class U8G2_SSD1327_SEEED_96X96_1_SW_I2C : public U8G2 {
  5886. public: U8G2_SSD1327_SEEED_96X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5887. u8g2_Setup_ssd1327_i2c_seeed_96x96_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5888. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5889. }
  5890. };
  5891. #if defined U8G2_USE_HW_I2C
  5892. class U8G2_SSD1327_SEEED_96X96_1_HW_I2C : public U8G2 {
  5893. public: U8G2_SSD1327_SEEED_96X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5894. u8g2_Setup_ssd1327_i2c_seeed_96x96_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5895. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5896. }
  5897. };
  5898. #endif
  5899. class U8G2_SSD1327_SEEED_96X96_2_SW_I2C : public U8G2 {
  5900. public: U8G2_SSD1327_SEEED_96X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5901. u8g2_Setup_ssd1327_i2c_seeed_96x96_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5902. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5903. }
  5904. };
  5905. #if defined U8G2_USE_HW_I2C
  5906. class U8G2_SSD1327_SEEED_96X96_2_HW_I2C : public U8G2 {
  5907. public: U8G2_SSD1327_SEEED_96X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5908. u8g2_Setup_ssd1327_i2c_seeed_96x96_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5909. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5910. }
  5911. };
  5912. #endif
  5913. class U8G2_SSD1327_SEEED_96X96_F_SW_I2C : public U8G2 {
  5914. public: U8G2_SSD1327_SEEED_96X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5915. u8g2_Setup_ssd1327_i2c_seeed_96x96_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  5916. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  5917. }
  5918. };
  5919. #if defined U8G2_USE_HW_I2C
  5920. class U8G2_SSD1327_SEEED_96X96_F_HW_I2C : public U8G2 {
  5921. public: U8G2_SSD1327_SEEED_96X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  5922. u8g2_Setup_ssd1327_i2c_seeed_96x96_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  5923. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  5924. }
  5925. };
  5926. #endif
  5927. class U8G2_SSD1327_EA_W128128_1_4W_SW_SPI : public U8G2 {
  5928. public: U8G2_SSD1327_EA_W128128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5929. u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5930. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5931. }
  5932. };
  5933. #if defined U8G2_USE_HW_SPI
  5934. class U8G2_SSD1327_EA_W128128_1_4W_HW_SPI : public U8G2 {
  5935. public: U8G2_SSD1327_EA_W128128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5936. u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5937. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5938. }
  5939. };
  5940. #endif
  5941. class U8G2_SSD1327_EA_W128128_1_3W_SW_SPI : public U8G2 {
  5942. public: U8G2_SSD1327_EA_W128128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5943. u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5944. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5945. }
  5946. };
  5947. class U8G2_SSD1327_EA_W128128_1_6800 : public U8G2 {
  5948. public: U8G2_SSD1327_EA_W128128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5949. u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5950. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5951. }
  5952. };
  5953. class U8G2_SSD1327_EA_W128128_1_8080 : public U8G2 {
  5954. public: U8G2_SSD1327_EA_W128128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5955. u8g2_Setup_ssd1327_ea_w128128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5956. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5957. }
  5958. };
  5959. class U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI : public U8G2 {
  5960. public: U8G2_SSD1327_MIDAS_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5961. u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5962. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5963. }
  5964. };
  5965. #if defined U8G2_USE_HW_SPI
  5966. class U8G2_SSD1327_MIDAS_128X128_1_4W_HW_SPI : public U8G2 {
  5967. public: U8G2_SSD1327_MIDAS_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5968. u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  5969. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  5970. }
  5971. };
  5972. #endif
  5973. class U8G2_SSD1327_MIDAS_128X128_1_3W_SW_SPI : public U8G2 {
  5974. public: U8G2_SSD1327_MIDAS_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5975. u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5976. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  5977. }
  5978. };
  5979. class U8G2_SSD1327_MIDAS_128X128_1_6800 : public U8G2 {
  5980. public: U8G2_SSD1327_MIDAS_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5981. u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  5982. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5983. }
  5984. };
  5985. class U8G2_SSD1327_MIDAS_128X128_1_8080 : public U8G2 {
  5986. public: U8G2_SSD1327_MIDAS_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5987. u8g2_Setup_ssd1327_midas_128x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  5988. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  5989. }
  5990. };
  5991. class U8G2_SSD1327_WS_128X128_1_4W_SW_SPI : public U8G2 {
  5992. public: U8G2_SSD1327_WS_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  5993. u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  5994. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  5995. }
  5996. };
  5997. #if defined U8G2_USE_HW_SPI
  5998. class U8G2_SSD1327_WS_128X128_1_4W_HW_SPI : public U8G2 {
  5999. public: U8G2_SSD1327_WS_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6000. u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6001. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6002. }
  6003. };
  6004. #endif
  6005. class U8G2_SSD1327_WS_128X128_1_3W_SW_SPI : public U8G2 {
  6006. public: U8G2_SSD1327_WS_128X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6007. u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6008. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6009. }
  6010. };
  6011. class U8G2_SSD1327_WS_128X128_1_6800 : public U8G2 {
  6012. public: U8G2_SSD1327_WS_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6013. u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6014. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6015. }
  6016. };
  6017. class U8G2_SSD1327_WS_128X128_1_8080 : public U8G2 {
  6018. public: U8G2_SSD1327_WS_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6019. u8g2_Setup_ssd1327_ws_128x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6020. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6021. }
  6022. };
  6023. class U8G2_SSD1327_EA_W128128_2_4W_SW_SPI : public U8G2 {
  6024. public: U8G2_SSD1327_EA_W128128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6025. u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6026. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6027. }
  6028. };
  6029. #if defined U8G2_USE_HW_SPI
  6030. class U8G2_SSD1327_EA_W128128_2_4W_HW_SPI : public U8G2 {
  6031. public: U8G2_SSD1327_EA_W128128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6032. u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6033. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6034. }
  6035. };
  6036. #endif
  6037. class U8G2_SSD1327_EA_W128128_2_3W_SW_SPI : public U8G2 {
  6038. public: U8G2_SSD1327_EA_W128128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6039. u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6040. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6041. }
  6042. };
  6043. class U8G2_SSD1327_EA_W128128_2_6800 : public U8G2 {
  6044. public: U8G2_SSD1327_EA_W128128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6045. u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6046. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6047. }
  6048. };
  6049. class U8G2_SSD1327_EA_W128128_2_8080 : public U8G2 {
  6050. public: U8G2_SSD1327_EA_W128128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6051. u8g2_Setup_ssd1327_ea_w128128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6052. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6053. }
  6054. };
  6055. class U8G2_SSD1327_MIDAS_128X128_2_4W_SW_SPI : public U8G2 {
  6056. public: U8G2_SSD1327_MIDAS_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6057. u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6058. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6059. }
  6060. };
  6061. #if defined U8G2_USE_HW_SPI
  6062. class U8G2_SSD1327_MIDAS_128X128_2_4W_HW_SPI : public U8G2 {
  6063. public: U8G2_SSD1327_MIDAS_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6064. u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6065. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6066. }
  6067. };
  6068. #endif
  6069. class U8G2_SSD1327_MIDAS_128X128_2_3W_SW_SPI : public U8G2 {
  6070. public: U8G2_SSD1327_MIDAS_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6071. u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6072. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6073. }
  6074. };
  6075. class U8G2_SSD1327_MIDAS_128X128_2_6800 : public U8G2 {
  6076. public: U8G2_SSD1327_MIDAS_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6077. u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6078. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6079. }
  6080. };
  6081. class U8G2_SSD1327_MIDAS_128X128_2_8080 : public U8G2 {
  6082. public: U8G2_SSD1327_MIDAS_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6083. u8g2_Setup_ssd1327_midas_128x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6084. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6085. }
  6086. };
  6087. class U8G2_SSD1327_WS_128X128_2_4W_SW_SPI : public U8G2 {
  6088. public: U8G2_SSD1327_WS_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6089. u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6090. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6091. }
  6092. };
  6093. #if defined U8G2_USE_HW_SPI
  6094. class U8G2_SSD1327_WS_128X128_2_4W_HW_SPI : public U8G2 {
  6095. public: U8G2_SSD1327_WS_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6096. u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6097. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6098. }
  6099. };
  6100. #endif
  6101. class U8G2_SSD1327_WS_128X128_2_3W_SW_SPI : public U8G2 {
  6102. public: U8G2_SSD1327_WS_128X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6103. u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6104. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6105. }
  6106. };
  6107. class U8G2_SSD1327_WS_128X128_2_6800 : public U8G2 {
  6108. public: U8G2_SSD1327_WS_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6109. u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6110. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6111. }
  6112. };
  6113. class U8G2_SSD1327_WS_128X128_2_8080 : public U8G2 {
  6114. public: U8G2_SSD1327_WS_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6115. u8g2_Setup_ssd1327_ws_128x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6116. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6117. }
  6118. };
  6119. class U8G2_SSD1327_EA_W128128_F_4W_SW_SPI : public U8G2 {
  6120. public: U8G2_SSD1327_EA_W128128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6121. u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6122. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6123. }
  6124. };
  6125. #if defined U8G2_USE_HW_SPI
  6126. class U8G2_SSD1327_EA_W128128_F_4W_HW_SPI : public U8G2 {
  6127. public: U8G2_SSD1327_EA_W128128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6128. u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6129. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6130. }
  6131. };
  6132. #endif
  6133. class U8G2_SSD1327_EA_W128128_F_3W_SW_SPI : public U8G2 {
  6134. public: U8G2_SSD1327_EA_W128128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6135. u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6136. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6137. }
  6138. };
  6139. class U8G2_SSD1327_EA_W128128_F_6800 : public U8G2 {
  6140. public: U8G2_SSD1327_EA_W128128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6141. u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6142. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6143. }
  6144. };
  6145. class U8G2_SSD1327_EA_W128128_F_8080 : public U8G2 {
  6146. public: U8G2_SSD1327_EA_W128128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6147. u8g2_Setup_ssd1327_ea_w128128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6148. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6149. }
  6150. };
  6151. class U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI : public U8G2 {
  6152. public: U8G2_SSD1327_MIDAS_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6153. u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6154. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6155. }
  6156. };
  6157. #if defined U8G2_USE_HW_SPI
  6158. class U8G2_SSD1327_MIDAS_128X128_F_4W_HW_SPI : public U8G2 {
  6159. public: U8G2_SSD1327_MIDAS_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6160. u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6161. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6162. }
  6163. };
  6164. #endif
  6165. class U8G2_SSD1327_MIDAS_128X128_F_3W_SW_SPI : public U8G2 {
  6166. public: U8G2_SSD1327_MIDAS_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6167. u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6168. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6169. }
  6170. };
  6171. class U8G2_SSD1327_MIDAS_128X128_F_6800 : public U8G2 {
  6172. public: U8G2_SSD1327_MIDAS_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6173. u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6174. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6175. }
  6176. };
  6177. class U8G2_SSD1327_MIDAS_128X128_F_8080 : public U8G2 {
  6178. public: U8G2_SSD1327_MIDAS_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6179. u8g2_Setup_ssd1327_midas_128x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6180. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6181. }
  6182. };
  6183. class U8G2_SSD1327_WS_128X128_F_4W_SW_SPI : public U8G2 {
  6184. public: U8G2_SSD1327_WS_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6185. u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6186. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6187. }
  6188. };
  6189. #if defined U8G2_USE_HW_SPI
  6190. class U8G2_SSD1327_WS_128X128_F_4W_HW_SPI : public U8G2 {
  6191. public: U8G2_SSD1327_WS_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6192. u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6193. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6194. }
  6195. };
  6196. #endif
  6197. class U8G2_SSD1327_WS_128X128_F_3W_SW_SPI : public U8G2 {
  6198. public: U8G2_SSD1327_WS_128X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6199. u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6200. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6201. }
  6202. };
  6203. class U8G2_SSD1327_WS_128X128_F_6800 : public U8G2 {
  6204. public: U8G2_SSD1327_WS_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6205. u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6206. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6207. }
  6208. };
  6209. class U8G2_SSD1327_WS_128X128_F_8080 : public U8G2 {
  6210. public: U8G2_SSD1327_WS_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6211. u8g2_Setup_ssd1327_ws_128x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6212. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6213. }
  6214. };
  6215. class U8G2_SSD1327_EA_W128128_1_SW_I2C : public U8G2 {
  6216. public: U8G2_SSD1327_EA_W128128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6217. u8g2_Setup_ssd1327_i2c_ea_w128128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6218. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6219. }
  6220. };
  6221. #if defined U8G2_USE_HW_I2C
  6222. class U8G2_SSD1327_EA_W128128_1_HW_I2C : public U8G2 {
  6223. public: U8G2_SSD1327_EA_W128128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6224. u8g2_Setup_ssd1327_i2c_ea_w128128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6225. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6226. }
  6227. };
  6228. #endif
  6229. class U8G2_SSD1327_MIDAS_128X128_1_SW_I2C : public U8G2 {
  6230. public: U8G2_SSD1327_MIDAS_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6231. u8g2_Setup_ssd1327_i2c_midas_128x128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6232. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6233. }
  6234. };
  6235. #if defined U8G2_USE_HW_I2C
  6236. class U8G2_SSD1327_MIDAS_128X128_1_HW_I2C : public U8G2 {
  6237. public: U8G2_SSD1327_MIDAS_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6238. u8g2_Setup_ssd1327_i2c_midas_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6239. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6240. }
  6241. };
  6242. #endif
  6243. class U8G2_SSD1327_WS_128X128_1_SW_I2C : public U8G2 {
  6244. public: U8G2_SSD1327_WS_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6245. u8g2_Setup_ssd1327_i2c_ws_128x128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6246. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6247. }
  6248. };
  6249. #if defined U8G2_USE_HW_I2C
  6250. class U8G2_SSD1327_WS_128X128_1_HW_I2C : public U8G2 {
  6251. public: U8G2_SSD1327_WS_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6252. u8g2_Setup_ssd1327_i2c_ws_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6253. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6254. }
  6255. };
  6256. #endif
  6257. class U8G2_SSD1327_EA_W128128_2_SW_I2C : public U8G2 {
  6258. public: U8G2_SSD1327_EA_W128128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6259. u8g2_Setup_ssd1327_i2c_ea_w128128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6260. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6261. }
  6262. };
  6263. #if defined U8G2_USE_HW_I2C
  6264. class U8G2_SSD1327_EA_W128128_2_HW_I2C : public U8G2 {
  6265. public: U8G2_SSD1327_EA_W128128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6266. u8g2_Setup_ssd1327_i2c_ea_w128128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6267. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6268. }
  6269. };
  6270. #endif
  6271. class U8G2_SSD1327_MIDAS_128X128_2_SW_I2C : public U8G2 {
  6272. public: U8G2_SSD1327_MIDAS_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6273. u8g2_Setup_ssd1327_i2c_midas_128x128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6274. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6275. }
  6276. };
  6277. #if defined U8G2_USE_HW_I2C
  6278. class U8G2_SSD1327_MIDAS_128X128_2_HW_I2C : public U8G2 {
  6279. public: U8G2_SSD1327_MIDAS_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6280. u8g2_Setup_ssd1327_i2c_midas_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6281. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6282. }
  6283. };
  6284. #endif
  6285. class U8G2_SSD1327_WS_128X128_2_SW_I2C : public U8G2 {
  6286. public: U8G2_SSD1327_WS_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6287. u8g2_Setup_ssd1327_i2c_ws_128x128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6288. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6289. }
  6290. };
  6291. #if defined U8G2_USE_HW_I2C
  6292. class U8G2_SSD1327_WS_128X128_2_HW_I2C : public U8G2 {
  6293. public: U8G2_SSD1327_WS_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6294. u8g2_Setup_ssd1327_i2c_ws_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6295. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6296. }
  6297. };
  6298. #endif
  6299. class U8G2_SSD1327_EA_W128128_F_SW_I2C : public U8G2 {
  6300. public: U8G2_SSD1327_EA_W128128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6301. u8g2_Setup_ssd1327_i2c_ea_w128128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6302. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6303. }
  6304. };
  6305. #if defined U8G2_USE_HW_I2C
  6306. class U8G2_SSD1327_EA_W128128_F_HW_I2C : public U8G2 {
  6307. public: U8G2_SSD1327_EA_W128128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6308. u8g2_Setup_ssd1327_i2c_ea_w128128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6309. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6310. }
  6311. };
  6312. #endif
  6313. class U8G2_SSD1327_MIDAS_128X128_F_SW_I2C : public U8G2 {
  6314. public: U8G2_SSD1327_MIDAS_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6315. u8g2_Setup_ssd1327_i2c_midas_128x128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6316. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6317. }
  6318. };
  6319. #if defined U8G2_USE_HW_I2C
  6320. class U8G2_SSD1327_MIDAS_128X128_F_HW_I2C : public U8G2 {
  6321. public: U8G2_SSD1327_MIDAS_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6322. u8g2_Setup_ssd1327_i2c_midas_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6323. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6324. }
  6325. };
  6326. #endif
  6327. class U8G2_SSD1327_WS_128X128_F_SW_I2C : public U8G2 {
  6328. public: U8G2_SSD1327_WS_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6329. u8g2_Setup_ssd1327_i2c_ws_128x128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6330. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6331. }
  6332. };
  6333. #if defined U8G2_USE_HW_I2C
  6334. class U8G2_SSD1327_WS_128X128_F_HW_I2C : public U8G2 {
  6335. public: U8G2_SSD1327_WS_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6336. u8g2_Setup_ssd1327_i2c_ws_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6337. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6338. }
  6339. };
  6340. #endif
  6341. class U8G2_SSD1327_VISIONOX_128X96_1_4W_SW_SPI : public U8G2 {
  6342. public: U8G2_SSD1327_VISIONOX_128X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6343. u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6344. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6345. }
  6346. };
  6347. #if defined U8G2_USE_HW_SPI
  6348. class U8G2_SSD1327_VISIONOX_128X96_1_4W_HW_SPI : public U8G2 {
  6349. public: U8G2_SSD1327_VISIONOX_128X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6350. u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6351. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6352. }
  6353. };
  6354. #endif
  6355. class U8G2_SSD1327_VISIONOX_128X96_1_3W_SW_SPI : public U8G2 {
  6356. public: U8G2_SSD1327_VISIONOX_128X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6357. u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6358. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6359. }
  6360. };
  6361. class U8G2_SSD1327_VISIONOX_128X96_1_6800 : public U8G2 {
  6362. public: U8G2_SSD1327_VISIONOX_128X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6363. u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6364. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6365. }
  6366. };
  6367. class U8G2_SSD1327_VISIONOX_128X96_1_8080 : public U8G2 {
  6368. public: U8G2_SSD1327_VISIONOX_128X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6369. u8g2_Setup_ssd1327_visionox_128x96_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6370. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6371. }
  6372. };
  6373. class U8G2_SSD1327_VISIONOX_128X96_2_4W_SW_SPI : public U8G2 {
  6374. public: U8G2_SSD1327_VISIONOX_128X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6375. u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6376. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6377. }
  6378. };
  6379. #if defined U8G2_USE_HW_SPI
  6380. class U8G2_SSD1327_VISIONOX_128X96_2_4W_HW_SPI : public U8G2 {
  6381. public: U8G2_SSD1327_VISIONOX_128X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6382. u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6383. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6384. }
  6385. };
  6386. #endif
  6387. class U8G2_SSD1327_VISIONOX_128X96_2_3W_SW_SPI : public U8G2 {
  6388. public: U8G2_SSD1327_VISIONOX_128X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6389. u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6390. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6391. }
  6392. };
  6393. class U8G2_SSD1327_VISIONOX_128X96_2_6800 : public U8G2 {
  6394. public: U8G2_SSD1327_VISIONOX_128X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6395. u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6396. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6397. }
  6398. };
  6399. class U8G2_SSD1327_VISIONOX_128X96_2_8080 : public U8G2 {
  6400. public: U8G2_SSD1327_VISIONOX_128X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6401. u8g2_Setup_ssd1327_visionox_128x96_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6402. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6403. }
  6404. };
  6405. class U8G2_SSD1327_VISIONOX_128X96_F_4W_SW_SPI : public U8G2 {
  6406. public: U8G2_SSD1327_VISIONOX_128X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6407. u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6408. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6409. }
  6410. };
  6411. #if defined U8G2_USE_HW_SPI
  6412. class U8G2_SSD1327_VISIONOX_128X96_F_4W_HW_SPI : public U8G2 {
  6413. public: U8G2_SSD1327_VISIONOX_128X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6414. u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6415. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6416. }
  6417. };
  6418. #endif
  6419. class U8G2_SSD1327_VISIONOX_128X96_F_3W_SW_SPI : public U8G2 {
  6420. public: U8G2_SSD1327_VISIONOX_128X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6421. u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6422. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6423. }
  6424. };
  6425. class U8G2_SSD1327_VISIONOX_128X96_F_6800 : public U8G2 {
  6426. public: U8G2_SSD1327_VISIONOX_128X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6427. u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6428. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6429. }
  6430. };
  6431. class U8G2_SSD1327_VISIONOX_128X96_F_8080 : public U8G2 {
  6432. public: U8G2_SSD1327_VISIONOX_128X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6433. u8g2_Setup_ssd1327_visionox_128x96_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6434. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6435. }
  6436. };
  6437. class U8G2_SSD1327_VISIONOX_128X96_1_SW_I2C : public U8G2 {
  6438. public: U8G2_SSD1327_VISIONOX_128X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6439. u8g2_Setup_ssd1327_i2c_visionox_128x96_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6440. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6441. }
  6442. };
  6443. #if defined U8G2_USE_HW_I2C
  6444. class U8G2_SSD1327_VISIONOX_128X96_1_HW_I2C : public U8G2 {
  6445. public: U8G2_SSD1327_VISIONOX_128X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6446. u8g2_Setup_ssd1327_i2c_visionox_128x96_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6447. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6448. }
  6449. };
  6450. #endif
  6451. class U8G2_SSD1327_VISIONOX_128X96_2_SW_I2C : public U8G2 {
  6452. public: U8G2_SSD1327_VISIONOX_128X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6453. u8g2_Setup_ssd1327_i2c_visionox_128x96_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6454. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6455. }
  6456. };
  6457. #if defined U8G2_USE_HW_I2C
  6458. class U8G2_SSD1327_VISIONOX_128X96_2_HW_I2C : public U8G2 {
  6459. public: U8G2_SSD1327_VISIONOX_128X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6460. u8g2_Setup_ssd1327_i2c_visionox_128x96_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6461. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6462. }
  6463. };
  6464. #endif
  6465. class U8G2_SSD1327_VISIONOX_128X96_F_SW_I2C : public U8G2 {
  6466. public: U8G2_SSD1327_VISIONOX_128X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6467. u8g2_Setup_ssd1327_i2c_visionox_128x96_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6468. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6469. }
  6470. };
  6471. #if defined U8G2_USE_HW_I2C
  6472. class U8G2_SSD1327_VISIONOX_128X96_F_HW_I2C : public U8G2 {
  6473. public: U8G2_SSD1327_VISIONOX_128X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6474. u8g2_Setup_ssd1327_i2c_visionox_128x96_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6475. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6476. }
  6477. };
  6478. #endif
  6479. class U8G2_SSD1329_128X96_NONAME_1_4W_SW_SPI : public U8G2 {
  6480. public: U8G2_SSD1329_128X96_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6481. u8g2_Setup_ssd1329_128x96_noname_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6482. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6483. }
  6484. };
  6485. #if defined U8G2_USE_HW_SPI
  6486. class U8G2_SSD1329_128X96_NONAME_1_4W_HW_SPI : public U8G2 {
  6487. public: U8G2_SSD1329_128X96_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6488. u8g2_Setup_ssd1329_128x96_noname_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6489. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6490. }
  6491. };
  6492. #endif
  6493. class U8G2_SSD1329_128X96_NONAME_1_6800 : public U8G2 {
  6494. public: U8G2_SSD1329_128X96_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6495. u8g2_Setup_ssd1329_128x96_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6496. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6497. }
  6498. };
  6499. class U8G2_SSD1329_128X96_NONAME_1_8080 : public U8G2 {
  6500. public: U8G2_SSD1329_128X96_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6501. u8g2_Setup_ssd1329_128x96_noname_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6502. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6503. }
  6504. };
  6505. class U8G2_SSD1329_128X96_NONAME_2_4W_SW_SPI : public U8G2 {
  6506. public: U8G2_SSD1329_128X96_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6507. u8g2_Setup_ssd1329_128x96_noname_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6508. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6509. }
  6510. };
  6511. #if defined U8G2_USE_HW_SPI
  6512. class U8G2_SSD1329_128X96_NONAME_2_4W_HW_SPI : public U8G2 {
  6513. public: U8G2_SSD1329_128X96_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6514. u8g2_Setup_ssd1329_128x96_noname_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6515. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6516. }
  6517. };
  6518. #endif
  6519. class U8G2_SSD1329_128X96_NONAME_2_6800 : public U8G2 {
  6520. public: U8G2_SSD1329_128X96_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6521. u8g2_Setup_ssd1329_128x96_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6522. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6523. }
  6524. };
  6525. class U8G2_SSD1329_128X96_NONAME_2_8080 : public U8G2 {
  6526. public: U8G2_SSD1329_128X96_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6527. u8g2_Setup_ssd1329_128x96_noname_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6528. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6529. }
  6530. };
  6531. class U8G2_SSD1329_128X96_NONAME_F_4W_SW_SPI : public U8G2 {
  6532. public: U8G2_SSD1329_128X96_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6533. u8g2_Setup_ssd1329_128x96_noname_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6534. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6535. }
  6536. };
  6537. #if defined U8G2_USE_HW_SPI
  6538. class U8G2_SSD1329_128X96_NONAME_F_4W_HW_SPI : public U8G2 {
  6539. public: U8G2_SSD1329_128X96_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6540. u8g2_Setup_ssd1329_128x96_noname_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6541. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6542. }
  6543. };
  6544. #endif
  6545. class U8G2_SSD1329_128X96_NONAME_F_6800 : public U8G2 {
  6546. public: U8G2_SSD1329_128X96_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6547. u8g2_Setup_ssd1329_128x96_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6548. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6549. }
  6550. };
  6551. class U8G2_SSD1329_128X96_NONAME_F_8080 : public U8G2 {
  6552. public: U8G2_SSD1329_128X96_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6553. u8g2_Setup_ssd1329_128x96_noname_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6554. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6555. }
  6556. };
  6557. class U8G2_SSD1329_96X96_NONAME_1_4W_SW_SPI : public U8G2 {
  6558. public: U8G2_SSD1329_96X96_NONAME_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6559. u8g2_Setup_ssd1329_96x96_noname_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6560. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6561. }
  6562. };
  6563. #if defined U8G2_USE_HW_SPI
  6564. class U8G2_SSD1329_96X96_NONAME_1_4W_HW_SPI : public U8G2 {
  6565. public: U8G2_SSD1329_96X96_NONAME_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6566. u8g2_Setup_ssd1329_96x96_noname_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6567. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6568. }
  6569. };
  6570. #endif
  6571. class U8G2_SSD1329_96X96_NONAME_1_6800 : public U8G2 {
  6572. public: U8G2_SSD1329_96X96_NONAME_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6573. u8g2_Setup_ssd1329_96x96_noname_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6574. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6575. }
  6576. };
  6577. class U8G2_SSD1329_96X96_NONAME_1_8080 : public U8G2 {
  6578. public: U8G2_SSD1329_96X96_NONAME_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6579. u8g2_Setup_ssd1329_96x96_noname_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6580. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6581. }
  6582. };
  6583. class U8G2_SSD1329_96X96_NONAME_2_4W_SW_SPI : public U8G2 {
  6584. public: U8G2_SSD1329_96X96_NONAME_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6585. u8g2_Setup_ssd1329_96x96_noname_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6586. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6587. }
  6588. };
  6589. #if defined U8G2_USE_HW_SPI
  6590. class U8G2_SSD1329_96X96_NONAME_2_4W_HW_SPI : public U8G2 {
  6591. public: U8G2_SSD1329_96X96_NONAME_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6592. u8g2_Setup_ssd1329_96x96_noname_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6593. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6594. }
  6595. };
  6596. #endif
  6597. class U8G2_SSD1329_96X96_NONAME_2_6800 : public U8G2 {
  6598. public: U8G2_SSD1329_96X96_NONAME_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6599. u8g2_Setup_ssd1329_96x96_noname_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6600. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6601. }
  6602. };
  6603. class U8G2_SSD1329_96X96_NONAME_2_8080 : public U8G2 {
  6604. public: U8G2_SSD1329_96X96_NONAME_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6605. u8g2_Setup_ssd1329_96x96_noname_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6606. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6607. }
  6608. };
  6609. class U8G2_SSD1329_96X96_NONAME_F_4W_SW_SPI : public U8G2 {
  6610. public: U8G2_SSD1329_96X96_NONAME_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6611. u8g2_Setup_ssd1329_96x96_noname_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6612. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6613. }
  6614. };
  6615. #if defined U8G2_USE_HW_SPI
  6616. class U8G2_SSD1329_96X96_NONAME_F_4W_HW_SPI : public U8G2 {
  6617. public: U8G2_SSD1329_96X96_NONAME_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6618. u8g2_Setup_ssd1329_96x96_noname_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6619. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6620. }
  6621. };
  6622. #endif
  6623. class U8G2_SSD1329_96X96_NONAME_F_6800 : public U8G2 {
  6624. public: U8G2_SSD1329_96X96_NONAME_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6625. u8g2_Setup_ssd1329_96x96_noname_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6626. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6627. }
  6628. };
  6629. class U8G2_SSD1329_96X96_NONAME_F_8080 : public U8G2 {
  6630. public: U8G2_SSD1329_96X96_NONAME_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6631. u8g2_Setup_ssd1329_96x96_noname_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6632. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6633. }
  6634. };
  6635. class U8G2_LD7032_60X32_1_4W_SW_SPI : public U8G2 {
  6636. public: U8G2_LD7032_60X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6637. u8g2_Setup_ld7032_60x32_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6638. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6639. }
  6640. };
  6641. #if defined U8G2_USE_HW_SPI
  6642. class U8G2_LD7032_60X32_1_4W_HW_SPI : public U8G2 {
  6643. public: U8G2_LD7032_60X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6644. u8g2_Setup_ld7032_60x32_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6645. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6646. }
  6647. };
  6648. #endif
  6649. class U8G2_LD7032_60X32_ALT_1_4W_SW_SPI : public U8G2 {
  6650. public: U8G2_LD7032_60X32_ALT_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6651. u8g2_Setup_ld7032_60x32_alt_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6652. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6653. }
  6654. };
  6655. #if defined U8G2_USE_HW_SPI
  6656. class U8G2_LD7032_60X32_ALT_1_4W_HW_SPI : public U8G2 {
  6657. public: U8G2_LD7032_60X32_ALT_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6658. u8g2_Setup_ld7032_60x32_alt_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6659. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6660. }
  6661. };
  6662. #endif
  6663. class U8G2_LD7032_60X32_2_4W_SW_SPI : public U8G2 {
  6664. public: U8G2_LD7032_60X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6665. u8g2_Setup_ld7032_60x32_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6666. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6667. }
  6668. };
  6669. #if defined U8G2_USE_HW_SPI
  6670. class U8G2_LD7032_60X32_2_4W_HW_SPI : public U8G2 {
  6671. public: U8G2_LD7032_60X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6672. u8g2_Setup_ld7032_60x32_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6673. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6674. }
  6675. };
  6676. #endif
  6677. class U8G2_LD7032_60X32_ALT_2_4W_SW_SPI : public U8G2 {
  6678. public: U8G2_LD7032_60X32_ALT_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6679. u8g2_Setup_ld7032_60x32_alt_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6680. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6681. }
  6682. };
  6683. #if defined U8G2_USE_HW_SPI
  6684. class U8G2_LD7032_60X32_ALT_2_4W_HW_SPI : public U8G2 {
  6685. public: U8G2_LD7032_60X32_ALT_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6686. u8g2_Setup_ld7032_60x32_alt_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6687. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6688. }
  6689. };
  6690. #endif
  6691. class U8G2_LD7032_60X32_F_4W_SW_SPI : public U8G2 {
  6692. public: U8G2_LD7032_60X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6693. u8g2_Setup_ld7032_60x32_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6694. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6695. }
  6696. };
  6697. #if defined U8G2_USE_HW_SPI
  6698. class U8G2_LD7032_60X32_F_4W_HW_SPI : public U8G2 {
  6699. public: U8G2_LD7032_60X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6700. u8g2_Setup_ld7032_60x32_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6701. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6702. }
  6703. };
  6704. #endif
  6705. class U8G2_LD7032_60X32_ALT_F_4W_SW_SPI : public U8G2 {
  6706. public: U8G2_LD7032_60X32_ALT_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6707. u8g2_Setup_ld7032_60x32_alt_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6708. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  6709. }
  6710. };
  6711. #if defined U8G2_USE_HW_SPI
  6712. class U8G2_LD7032_60X32_ALT_F_4W_HW_SPI : public U8G2 {
  6713. public: U8G2_LD7032_60X32_ALT_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6714. u8g2_Setup_ld7032_60x32_alt_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6715. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  6716. }
  6717. };
  6718. #endif
  6719. class U8G2_LD7032_60X32_1_SW_I2C : public U8G2 {
  6720. public: U8G2_LD7032_60X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6721. u8g2_Setup_ld7032_i2c_60x32_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6722. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6723. }
  6724. };
  6725. #if defined U8G2_USE_HW_I2C
  6726. class U8G2_LD7032_60X32_1_HW_I2C : public U8G2 {
  6727. public: U8G2_LD7032_60X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6728. u8g2_Setup_ld7032_i2c_60x32_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6729. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6730. }
  6731. };
  6732. #endif
  6733. class U8G2_LD7032_60X32_ALT_1_SW_I2C : public U8G2 {
  6734. public: U8G2_LD7032_60X32_ALT_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6735. u8g2_Setup_ld7032_i2c_60x32_alt_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6736. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6737. }
  6738. };
  6739. #if defined U8G2_USE_HW_I2C
  6740. class U8G2_LD7032_60X32_ALT_1_HW_I2C : public U8G2 {
  6741. public: U8G2_LD7032_60X32_ALT_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6742. u8g2_Setup_ld7032_i2c_60x32_alt_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6743. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6744. }
  6745. };
  6746. #endif
  6747. class U8G2_LD7032_60X32_2_SW_I2C : public U8G2 {
  6748. public: U8G2_LD7032_60X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6749. u8g2_Setup_ld7032_i2c_60x32_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6750. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6751. }
  6752. };
  6753. #if defined U8G2_USE_HW_I2C
  6754. class U8G2_LD7032_60X32_2_HW_I2C : public U8G2 {
  6755. public: U8G2_LD7032_60X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6756. u8g2_Setup_ld7032_i2c_60x32_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6757. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6758. }
  6759. };
  6760. #endif
  6761. class U8G2_LD7032_60X32_ALT_2_SW_I2C : public U8G2 {
  6762. public: U8G2_LD7032_60X32_ALT_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6763. u8g2_Setup_ld7032_i2c_60x32_alt_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6764. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6765. }
  6766. };
  6767. #if defined U8G2_USE_HW_I2C
  6768. class U8G2_LD7032_60X32_ALT_2_HW_I2C : public U8G2 {
  6769. public: U8G2_LD7032_60X32_ALT_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6770. u8g2_Setup_ld7032_i2c_60x32_alt_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6771. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6772. }
  6773. };
  6774. #endif
  6775. class U8G2_LD7032_60X32_F_SW_I2C : public U8G2 {
  6776. public: U8G2_LD7032_60X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6777. u8g2_Setup_ld7032_i2c_60x32_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6778. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6779. }
  6780. };
  6781. #if defined U8G2_USE_HW_I2C
  6782. class U8G2_LD7032_60X32_F_HW_I2C : public U8G2 {
  6783. public: U8G2_LD7032_60X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6784. u8g2_Setup_ld7032_i2c_60x32_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6785. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6786. }
  6787. };
  6788. #endif
  6789. class U8G2_LD7032_60X32_ALT_F_SW_I2C : public U8G2 {
  6790. public: U8G2_LD7032_60X32_ALT_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6791. u8g2_Setup_ld7032_i2c_60x32_alt_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  6792. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  6793. }
  6794. };
  6795. #if defined U8G2_USE_HW_I2C
  6796. class U8G2_LD7032_60X32_ALT_F_HW_I2C : public U8G2 {
  6797. public: U8G2_LD7032_60X32_ALT_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  6798. u8g2_Setup_ld7032_i2c_60x32_alt_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  6799. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  6800. }
  6801. };
  6802. #endif
  6803. class U8G2_ST7920_256X32_1_8080 : public U8G2 {
  6804. public: U8G2_ST7920_256X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6805. u8g2_Setup_st7920_p_256x32_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6806. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6807. }
  6808. };
  6809. class U8G2_ST7920_256X32_2_8080 : public U8G2 {
  6810. public: U8G2_ST7920_256X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6811. u8g2_Setup_st7920_p_256x32_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6812. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6813. }
  6814. };
  6815. class U8G2_ST7920_256X32_F_8080 : public U8G2 {
  6816. public: U8G2_ST7920_256X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6817. u8g2_Setup_st7920_p_256x32_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6818. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6819. }
  6820. };
  6821. class U8G2_ST7920_256X32_1_6800 : public U8G2 {
  6822. public: U8G2_ST7920_256X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6823. u8g2_Setup_st7920_256x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6824. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6825. }
  6826. };
  6827. class U8G2_ST7920_256X32_2_6800 : public U8G2 {
  6828. public: U8G2_ST7920_256X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6829. u8g2_Setup_st7920_256x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6830. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6831. }
  6832. };
  6833. class U8G2_ST7920_256X32_F_6800 : public U8G2 {
  6834. public: U8G2_ST7920_256X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6835. u8g2_Setup_st7920_256x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6836. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6837. }
  6838. };
  6839. class U8G2_ST7920_256X32_1_SW_SPI : public U8G2 {
  6840. public: U8G2_ST7920_256X32_1_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6841. u8g2_Setup_st7920_s_256x32_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6842. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6843. }
  6844. };
  6845. class U8G2_ST7920_256X32_1_HW_SPI : public U8G2 {
  6846. public: U8G2_ST7920_256X32_1_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6847. u8g2_Setup_st7920_s_256x32_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6848. u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);
  6849. }
  6850. };
  6851. class U8G2_ST7920_256X32_2_SW_SPI : public U8G2 {
  6852. public: U8G2_ST7920_256X32_2_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6853. u8g2_Setup_st7920_s_256x32_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6854. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6855. }
  6856. };
  6857. class U8G2_ST7920_256X32_2_HW_SPI : public U8G2 {
  6858. public: U8G2_ST7920_256X32_2_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6859. u8g2_Setup_st7920_s_256x32_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6860. u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);
  6861. }
  6862. };
  6863. class U8G2_ST7920_256X32_F_SW_SPI : public U8G2 {
  6864. public: U8G2_ST7920_256X32_F_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6865. u8g2_Setup_st7920_s_256x32_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6866. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6867. }
  6868. };
  6869. class U8G2_ST7920_256X32_F_HW_SPI : public U8G2 {
  6870. public: U8G2_ST7920_256X32_F_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6871. u8g2_Setup_st7920_s_256x32_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6872. u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);
  6873. }
  6874. };
  6875. class U8G2_ST7920_192X32_1_8080 : public U8G2 {
  6876. public: U8G2_ST7920_192X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6877. u8g2_Setup_st7920_p_192x32_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6878. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6879. }
  6880. };
  6881. class U8G2_ST7920_192X32_2_8080 : public U8G2 {
  6882. public: U8G2_ST7920_192X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6883. u8g2_Setup_st7920_p_192x32_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6884. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6885. }
  6886. };
  6887. class U8G2_ST7920_192X32_F_8080 : public U8G2 {
  6888. public: U8G2_ST7920_192X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6889. u8g2_Setup_st7920_p_192x32_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6890. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6891. }
  6892. };
  6893. class U8G2_ST7920_192X32_1_6800 : public U8G2 {
  6894. public: U8G2_ST7920_192X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6895. u8g2_Setup_st7920_192x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6896. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6897. }
  6898. };
  6899. class U8G2_ST7920_192X32_2_6800 : public U8G2 {
  6900. public: U8G2_ST7920_192X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6901. u8g2_Setup_st7920_192x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6902. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6903. }
  6904. };
  6905. class U8G2_ST7920_192X32_F_6800 : public U8G2 {
  6906. public: U8G2_ST7920_192X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6907. u8g2_Setup_st7920_192x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6908. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6909. }
  6910. };
  6911. class U8G2_ST7920_192X32_1_SW_SPI : public U8G2 {
  6912. public: U8G2_ST7920_192X32_1_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6913. u8g2_Setup_st7920_s_192x32_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6914. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6915. }
  6916. };
  6917. class U8G2_ST7920_192X32_1_HW_SPI : public U8G2 {
  6918. public: U8G2_ST7920_192X32_1_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6919. u8g2_Setup_st7920_s_192x32_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6920. u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);
  6921. }
  6922. };
  6923. class U8G2_ST7920_192X32_2_SW_SPI : public U8G2 {
  6924. public: U8G2_ST7920_192X32_2_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6925. u8g2_Setup_st7920_s_192x32_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6926. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6927. }
  6928. };
  6929. class U8G2_ST7920_192X32_2_HW_SPI : public U8G2 {
  6930. public: U8G2_ST7920_192X32_2_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6931. u8g2_Setup_st7920_s_192x32_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6932. u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);
  6933. }
  6934. };
  6935. class U8G2_ST7920_192X32_F_SW_SPI : public U8G2 {
  6936. public: U8G2_ST7920_192X32_F_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6937. u8g2_Setup_st7920_s_192x32_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6938. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6939. }
  6940. };
  6941. class U8G2_ST7920_192X32_F_HW_SPI : public U8G2 {
  6942. public: U8G2_ST7920_192X32_F_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6943. u8g2_Setup_st7920_s_192x32_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6944. u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);
  6945. }
  6946. };
  6947. class U8G2_ST7920_128X64_1_8080 : public U8G2 {
  6948. public: U8G2_ST7920_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6949. u8g2_Setup_st7920_p_128x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6950. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6951. }
  6952. };
  6953. class U8G2_ST7920_128X64_2_8080 : public U8G2 {
  6954. public: U8G2_ST7920_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6955. u8g2_Setup_st7920_p_128x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6956. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6957. }
  6958. };
  6959. class U8G2_ST7920_128X64_F_8080 : public U8G2 {
  6960. public: U8G2_ST7920_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6961. u8g2_Setup_st7920_p_128x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  6962. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6963. }
  6964. };
  6965. class U8G2_ST7920_128X64_1_6800 : public U8G2 {
  6966. public: U8G2_ST7920_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6967. u8g2_Setup_st7920_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6968. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6969. }
  6970. };
  6971. class U8G2_ST7920_128X64_2_6800 : public U8G2 {
  6972. public: U8G2_ST7920_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6973. u8g2_Setup_st7920_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6974. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6975. }
  6976. };
  6977. class U8G2_ST7920_128X64_F_6800 : public U8G2 {
  6978. public: U8G2_ST7920_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6979. u8g2_Setup_st7920_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  6980. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  6981. }
  6982. };
  6983. class U8G2_ST7920_128X64_1_SW_SPI : public U8G2 {
  6984. public: U8G2_ST7920_128X64_1_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6985. u8g2_Setup_st7920_s_128x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6986. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6987. }
  6988. };
  6989. class U8G2_ST7920_128X64_1_HW_SPI : public U8G2 {
  6990. public: U8G2_ST7920_128X64_1_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6991. u8g2_Setup_st7920_s_128x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  6992. u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);
  6993. }
  6994. };
  6995. class U8G2_ST7920_128X64_2_SW_SPI : public U8G2 {
  6996. public: U8G2_ST7920_128X64_2_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  6997. u8g2_Setup_st7920_s_128x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  6998. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  6999. }
  7000. };
  7001. class U8G2_ST7920_128X64_2_HW_SPI : public U8G2 {
  7002. public: U8G2_ST7920_128X64_2_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7003. u8g2_Setup_st7920_s_128x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7004. u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);
  7005. }
  7006. };
  7007. class U8G2_ST7920_128X64_F_SW_SPI : public U8G2 {
  7008. public: U8G2_ST7920_128X64_F_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7009. u8g2_Setup_st7920_s_128x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7010. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7011. }
  7012. };
  7013. class U8G2_ST7920_128X64_F_HW_SPI : public U8G2 {
  7014. public: U8G2_ST7920_128X64_F_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7015. u8g2_Setup_st7920_s_128x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7016. u8x8_SetPin_ST7920_HW_SPI(getU8x8(), cs, reset);
  7017. }
  7018. };
  7019. class U8G2_LS013B7DH03_128X128_1_4W_SW_SPI : public U8G2 {
  7020. public: U8G2_LS013B7DH03_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7021. u8g2_Setup_ls013b7dh03_128x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7022. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7023. }
  7024. };
  7025. #if defined U8G2_USE_HW_SPI
  7026. class U8G2_LS013B7DH03_128X128_1_4W_HW_SPI : public U8G2 {
  7027. public: U8G2_LS013B7DH03_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7028. u8g2_Setup_ls013b7dh03_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7029. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7030. }
  7031. };
  7032. #endif
  7033. class U8G2_LS013B7DH03_128X128_2_4W_SW_SPI : public U8G2 {
  7034. public: U8G2_LS013B7DH03_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7035. u8g2_Setup_ls013b7dh03_128x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7036. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7037. }
  7038. };
  7039. #if defined U8G2_USE_HW_SPI
  7040. class U8G2_LS013B7DH03_128X128_2_4W_HW_SPI : public U8G2 {
  7041. public: U8G2_LS013B7DH03_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7042. u8g2_Setup_ls013b7dh03_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7043. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7044. }
  7045. };
  7046. #endif
  7047. class U8G2_LS013B7DH03_128X128_F_4W_SW_SPI : public U8G2 {
  7048. public: U8G2_LS013B7DH03_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7049. u8g2_Setup_ls013b7dh03_128x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7050. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7051. }
  7052. };
  7053. #if defined U8G2_USE_HW_SPI
  7054. class U8G2_LS013B7DH03_128X128_F_4W_HW_SPI : public U8G2 {
  7055. public: U8G2_LS013B7DH03_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7056. u8g2_Setup_ls013b7dh03_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7057. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7058. }
  7059. };
  7060. #endif
  7061. class U8G2_LS027B7DH01_400X240_1_4W_SW_SPI : public U8G2 {
  7062. public: U8G2_LS027B7DH01_400X240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7063. u8g2_Setup_ls027b7dh01_400x240_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7064. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7065. }
  7066. };
  7067. #if defined U8G2_USE_HW_SPI
  7068. class U8G2_LS027B7DH01_400X240_1_4W_HW_SPI : public U8G2 {
  7069. public: U8G2_LS027B7DH01_400X240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7070. u8g2_Setup_ls027b7dh01_400x240_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7071. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7072. }
  7073. };
  7074. #endif
  7075. class U8G2_LS027B7DH01_M0_400X240_1_4W_SW_SPI : public U8G2 {
  7076. public: U8G2_LS027B7DH01_M0_400X240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7077. u8g2_Setup_ls027b7dh01_m0_400x240_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7078. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7079. }
  7080. };
  7081. #if defined U8G2_USE_HW_SPI
  7082. class U8G2_LS027B7DH01_M0_400X240_1_4W_HW_SPI : public U8G2 {
  7083. public: U8G2_LS027B7DH01_M0_400X240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7084. u8g2_Setup_ls027b7dh01_m0_400x240_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7085. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7086. }
  7087. };
  7088. #endif
  7089. class U8G2_LS027B7DH01_400X240_2_4W_SW_SPI : public U8G2 {
  7090. public: U8G2_LS027B7DH01_400X240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7091. u8g2_Setup_ls027b7dh01_400x240_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7092. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7093. }
  7094. };
  7095. #if defined U8G2_USE_HW_SPI
  7096. class U8G2_LS027B7DH01_400X240_2_4W_HW_SPI : public U8G2 {
  7097. public: U8G2_LS027B7DH01_400X240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7098. u8g2_Setup_ls027b7dh01_400x240_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7099. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7100. }
  7101. };
  7102. #endif
  7103. class U8G2_LS027B7DH01_M0_400X240_2_4W_SW_SPI : public U8G2 {
  7104. public: U8G2_LS027B7DH01_M0_400X240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7105. u8g2_Setup_ls027b7dh01_m0_400x240_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7106. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7107. }
  7108. };
  7109. #if defined U8G2_USE_HW_SPI
  7110. class U8G2_LS027B7DH01_M0_400X240_2_4W_HW_SPI : public U8G2 {
  7111. public: U8G2_LS027B7DH01_M0_400X240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7112. u8g2_Setup_ls027b7dh01_m0_400x240_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7113. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7114. }
  7115. };
  7116. #endif
  7117. class U8G2_LS027B7DH01_400X240_F_4W_SW_SPI : public U8G2 {
  7118. public: U8G2_LS027B7DH01_400X240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7119. u8g2_Setup_ls027b7dh01_400x240_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7120. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7121. }
  7122. };
  7123. #if defined U8G2_USE_HW_SPI
  7124. class U8G2_LS027B7DH01_400X240_F_4W_HW_SPI : public U8G2 {
  7125. public: U8G2_LS027B7DH01_400X240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7126. u8g2_Setup_ls027b7dh01_400x240_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7127. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7128. }
  7129. };
  7130. #endif
  7131. class U8G2_LS027B7DH01_M0_400X240_F_4W_SW_SPI : public U8G2 {
  7132. public: U8G2_LS027B7DH01_M0_400X240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7133. u8g2_Setup_ls027b7dh01_m0_400x240_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7134. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7135. }
  7136. };
  7137. #if defined U8G2_USE_HW_SPI
  7138. class U8G2_LS027B7DH01_M0_400X240_F_4W_HW_SPI : public U8G2 {
  7139. public: U8G2_LS027B7DH01_M0_400X240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7140. u8g2_Setup_ls027b7dh01_m0_400x240_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7141. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7142. }
  7143. };
  7144. #endif
  7145. class U8G2_LS013B7DH05_144X168_1_4W_SW_SPI : public U8G2 {
  7146. public: U8G2_LS013B7DH05_144X168_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7147. u8g2_Setup_ls013b7dh05_144x168_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7148. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7149. }
  7150. };
  7151. #if defined U8G2_USE_HW_SPI
  7152. class U8G2_LS013B7DH05_144X168_1_4W_HW_SPI : public U8G2 {
  7153. public: U8G2_LS013B7DH05_144X168_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7154. u8g2_Setup_ls013b7dh05_144x168_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7155. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7156. }
  7157. };
  7158. #endif
  7159. class U8G2_LS013B7DH05_144X168_2_4W_SW_SPI : public U8G2 {
  7160. public: U8G2_LS013B7DH05_144X168_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7161. u8g2_Setup_ls013b7dh05_144x168_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7162. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7163. }
  7164. };
  7165. #if defined U8G2_USE_HW_SPI
  7166. class U8G2_LS013B7DH05_144X168_2_4W_HW_SPI : public U8G2 {
  7167. public: U8G2_LS013B7DH05_144X168_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7168. u8g2_Setup_ls013b7dh05_144x168_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7169. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7170. }
  7171. };
  7172. #endif
  7173. class U8G2_LS013B7DH05_144X168_F_4W_SW_SPI : public U8G2 {
  7174. public: U8G2_LS013B7DH05_144X168_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7175. u8g2_Setup_ls013b7dh05_144x168_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7176. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7177. }
  7178. };
  7179. #if defined U8G2_USE_HW_SPI
  7180. class U8G2_LS013B7DH05_144X168_F_4W_HW_SPI : public U8G2 {
  7181. public: U8G2_LS013B7DH05_144X168_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7182. u8g2_Setup_ls013b7dh05_144x168_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7183. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7184. }
  7185. };
  7186. #endif
  7187. class U8G2_UC1701_EA_DOGS102_1_4W_SW_SPI : public U8G2 {
  7188. public: U8G2_UC1701_EA_DOGS102_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7189. u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7190. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7191. }
  7192. };
  7193. #if defined U8G2_USE_HW_SPI
  7194. class U8G2_UC1701_EA_DOGS102_1_4W_HW_SPI : public U8G2 {
  7195. public: U8G2_UC1701_EA_DOGS102_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7196. u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7197. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7198. }
  7199. };
  7200. #endif
  7201. class U8G2_UC1701_EA_DOGS102_1_3W_SW_SPI : public U8G2 {
  7202. public: U8G2_UC1701_EA_DOGS102_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7203. u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7204. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7205. }
  7206. };
  7207. class U8G2_UC1701_EA_DOGS102_1_6800 : public U8G2 {
  7208. public: U8G2_UC1701_EA_DOGS102_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7209. u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7210. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7211. }
  7212. };
  7213. class U8G2_UC1701_EA_DOGS102_1_8080 : public U8G2 {
  7214. public: U8G2_UC1701_EA_DOGS102_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7215. u8g2_Setup_uc1701_ea_dogs102_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7216. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7217. }
  7218. };
  7219. class U8G2_UC1701_EA_DOGS102_2_4W_SW_SPI : public U8G2 {
  7220. public: U8G2_UC1701_EA_DOGS102_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7221. u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7222. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7223. }
  7224. };
  7225. #if defined U8G2_USE_HW_SPI
  7226. class U8G2_UC1701_EA_DOGS102_2_4W_HW_SPI : public U8G2 {
  7227. public: U8G2_UC1701_EA_DOGS102_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7228. u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7229. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7230. }
  7231. };
  7232. #endif
  7233. class U8G2_UC1701_EA_DOGS102_2_3W_SW_SPI : public U8G2 {
  7234. public: U8G2_UC1701_EA_DOGS102_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7235. u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7236. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7237. }
  7238. };
  7239. class U8G2_UC1701_EA_DOGS102_2_6800 : public U8G2 {
  7240. public: U8G2_UC1701_EA_DOGS102_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7241. u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7242. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7243. }
  7244. };
  7245. class U8G2_UC1701_EA_DOGS102_2_8080 : public U8G2 {
  7246. public: U8G2_UC1701_EA_DOGS102_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7247. u8g2_Setup_uc1701_ea_dogs102_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7248. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7249. }
  7250. };
  7251. class U8G2_UC1701_EA_DOGS102_F_4W_SW_SPI : public U8G2 {
  7252. public: U8G2_UC1701_EA_DOGS102_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7253. u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7254. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7255. }
  7256. };
  7257. #if defined U8G2_USE_HW_SPI
  7258. class U8G2_UC1701_EA_DOGS102_F_4W_HW_SPI : public U8G2 {
  7259. public: U8G2_UC1701_EA_DOGS102_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7260. u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7261. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7262. }
  7263. };
  7264. #endif
  7265. class U8G2_UC1701_EA_DOGS102_F_3W_SW_SPI : public U8G2 {
  7266. public: U8G2_UC1701_EA_DOGS102_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7267. u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7268. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7269. }
  7270. };
  7271. class U8G2_UC1701_EA_DOGS102_F_6800 : public U8G2 {
  7272. public: U8G2_UC1701_EA_DOGS102_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7273. u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7274. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7275. }
  7276. };
  7277. class U8G2_UC1701_EA_DOGS102_F_8080 : public U8G2 {
  7278. public: U8G2_UC1701_EA_DOGS102_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7279. u8g2_Setup_uc1701_ea_dogs102_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7280. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7281. }
  7282. };
  7283. class U8G2_UC1701_MINI12864_1_4W_SW_SPI : public U8G2 {
  7284. public: U8G2_UC1701_MINI12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7285. u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7286. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7287. }
  7288. };
  7289. #if defined U8G2_USE_HW_SPI
  7290. class U8G2_UC1701_MINI12864_1_4W_HW_SPI : public U8G2 {
  7291. public: U8G2_UC1701_MINI12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7292. u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7293. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7294. }
  7295. };
  7296. #endif
  7297. class U8G2_UC1701_MINI12864_1_3W_SW_SPI : public U8G2 {
  7298. public: U8G2_UC1701_MINI12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7299. u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7300. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7301. }
  7302. };
  7303. class U8G2_UC1701_MINI12864_1_6800 : public U8G2 {
  7304. public: U8G2_UC1701_MINI12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7305. u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7306. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7307. }
  7308. };
  7309. class U8G2_UC1701_MINI12864_1_8080 : public U8G2 {
  7310. public: U8G2_UC1701_MINI12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7311. u8g2_Setup_uc1701_mini12864_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7312. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7313. }
  7314. };
  7315. class U8G2_UC1701_MINI12864_2_4W_SW_SPI : public U8G2 {
  7316. public: U8G2_UC1701_MINI12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7317. u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7318. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7319. }
  7320. };
  7321. #if defined U8G2_USE_HW_SPI
  7322. class U8G2_UC1701_MINI12864_2_4W_HW_SPI : public U8G2 {
  7323. public: U8G2_UC1701_MINI12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7324. u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7325. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7326. }
  7327. };
  7328. #endif
  7329. class U8G2_UC1701_MINI12864_2_3W_SW_SPI : public U8G2 {
  7330. public: U8G2_UC1701_MINI12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7331. u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7332. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7333. }
  7334. };
  7335. class U8G2_UC1701_MINI12864_2_6800 : public U8G2 {
  7336. public: U8G2_UC1701_MINI12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7337. u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7338. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7339. }
  7340. };
  7341. class U8G2_UC1701_MINI12864_2_8080 : public U8G2 {
  7342. public: U8G2_UC1701_MINI12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7343. u8g2_Setup_uc1701_mini12864_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7344. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7345. }
  7346. };
  7347. class U8G2_UC1701_MINI12864_F_4W_SW_SPI : public U8G2 {
  7348. public: U8G2_UC1701_MINI12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7349. u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7350. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7351. }
  7352. };
  7353. #if defined U8G2_USE_HW_SPI
  7354. class U8G2_UC1701_MINI12864_F_4W_HW_SPI : public U8G2 {
  7355. public: U8G2_UC1701_MINI12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7356. u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7357. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7358. }
  7359. };
  7360. #endif
  7361. class U8G2_UC1701_MINI12864_F_3W_SW_SPI : public U8G2 {
  7362. public: U8G2_UC1701_MINI12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7363. u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7364. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7365. }
  7366. };
  7367. class U8G2_UC1701_MINI12864_F_6800 : public U8G2 {
  7368. public: U8G2_UC1701_MINI12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7369. u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7370. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7371. }
  7372. };
  7373. class U8G2_UC1701_MINI12864_F_8080 : public U8G2 {
  7374. public: U8G2_UC1701_MINI12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7375. u8g2_Setup_uc1701_mini12864_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7376. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7377. }
  7378. };
  7379. class U8G2_PCD8544_84X48_1_4W_SW_SPI : public U8G2 {
  7380. public: U8G2_PCD8544_84X48_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7381. u8g2_Setup_pcd8544_84x48_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7382. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7383. }
  7384. };
  7385. #if defined U8G2_USE_HW_SPI
  7386. class U8G2_PCD8544_84X48_1_4W_HW_SPI : public U8G2 {
  7387. public: U8G2_PCD8544_84X48_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7388. u8g2_Setup_pcd8544_84x48_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7389. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7390. }
  7391. };
  7392. #endif
  7393. class U8G2_PCD8544_84X48_1_3W_SW_SPI : public U8G2 {
  7394. public: U8G2_PCD8544_84X48_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7395. u8g2_Setup_pcd8544_84x48_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7396. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7397. }
  7398. };
  7399. class U8G2_PCD8544_84X48_2_4W_SW_SPI : public U8G2 {
  7400. public: U8G2_PCD8544_84X48_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7401. u8g2_Setup_pcd8544_84x48_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7402. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7403. }
  7404. };
  7405. #if defined U8G2_USE_HW_SPI
  7406. class U8G2_PCD8544_84X48_2_4W_HW_SPI : public U8G2 {
  7407. public: U8G2_PCD8544_84X48_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7408. u8g2_Setup_pcd8544_84x48_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7409. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7410. }
  7411. };
  7412. #endif
  7413. class U8G2_PCD8544_84X48_2_3W_SW_SPI : public U8G2 {
  7414. public: U8G2_PCD8544_84X48_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7415. u8g2_Setup_pcd8544_84x48_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7416. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7417. }
  7418. };
  7419. class U8G2_PCD8544_84X48_F_4W_SW_SPI : public U8G2 {
  7420. public: U8G2_PCD8544_84X48_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7421. u8g2_Setup_pcd8544_84x48_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7422. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7423. }
  7424. };
  7425. #if defined U8G2_USE_HW_SPI
  7426. class U8G2_PCD8544_84X48_F_4W_HW_SPI : public U8G2 {
  7427. public: U8G2_PCD8544_84X48_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7428. u8g2_Setup_pcd8544_84x48_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7429. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7430. }
  7431. };
  7432. #endif
  7433. class U8G2_PCD8544_84X48_F_3W_SW_SPI : public U8G2 {
  7434. public: U8G2_PCD8544_84X48_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7435. u8g2_Setup_pcd8544_84x48_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7436. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7437. }
  7438. };
  7439. class U8G2_PCF8812_96X65_1_4W_SW_SPI : public U8G2 {
  7440. public: U8G2_PCF8812_96X65_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7441. u8g2_Setup_pcf8812_96x65_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7442. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7443. }
  7444. };
  7445. #if defined U8G2_USE_HW_SPI
  7446. class U8G2_PCF8812_96X65_1_4W_HW_SPI : public U8G2 {
  7447. public: U8G2_PCF8812_96X65_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7448. u8g2_Setup_pcf8812_96x65_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7449. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7450. }
  7451. };
  7452. #endif
  7453. class U8G2_PCF8812_96X65_1_3W_SW_SPI : public U8G2 {
  7454. public: U8G2_PCF8812_96X65_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7455. u8g2_Setup_pcf8812_96x65_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7456. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7457. }
  7458. };
  7459. class U8G2_PCF8812_96X65_2_4W_SW_SPI : public U8G2 {
  7460. public: U8G2_PCF8812_96X65_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7461. u8g2_Setup_pcf8812_96x65_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7462. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7463. }
  7464. };
  7465. #if defined U8G2_USE_HW_SPI
  7466. class U8G2_PCF8812_96X65_2_4W_HW_SPI : public U8G2 {
  7467. public: U8G2_PCF8812_96X65_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7468. u8g2_Setup_pcf8812_96x65_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7469. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7470. }
  7471. };
  7472. #endif
  7473. class U8G2_PCF8812_96X65_2_3W_SW_SPI : public U8G2 {
  7474. public: U8G2_PCF8812_96X65_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7475. u8g2_Setup_pcf8812_96x65_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7476. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7477. }
  7478. };
  7479. class U8G2_PCF8812_96X65_F_4W_SW_SPI : public U8G2 {
  7480. public: U8G2_PCF8812_96X65_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7481. u8g2_Setup_pcf8812_96x65_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7482. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7483. }
  7484. };
  7485. #if defined U8G2_USE_HW_SPI
  7486. class U8G2_PCF8812_96X65_F_4W_HW_SPI : public U8G2 {
  7487. public: U8G2_PCF8812_96X65_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7488. u8g2_Setup_pcf8812_96x65_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7489. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7490. }
  7491. };
  7492. #endif
  7493. class U8G2_PCF8812_96X65_F_3W_SW_SPI : public U8G2 {
  7494. public: U8G2_PCF8812_96X65_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7495. u8g2_Setup_pcf8812_96x65_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7496. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7497. }
  7498. };
  7499. class U8G2_HX1230_96X68_1_4W_SW_SPI : public U8G2 {
  7500. public: U8G2_HX1230_96X68_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7501. u8g2_Setup_hx1230_96x68_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7502. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7503. }
  7504. };
  7505. #if defined U8G2_USE_HW_SPI
  7506. class U8G2_HX1230_96X68_1_4W_HW_SPI : public U8G2 {
  7507. public: U8G2_HX1230_96X68_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7508. u8g2_Setup_hx1230_96x68_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7509. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7510. }
  7511. };
  7512. #endif
  7513. class U8G2_HX1230_96X68_1_3W_SW_SPI : public U8G2 {
  7514. public: U8G2_HX1230_96X68_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7515. u8g2_Setup_hx1230_96x68_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7516. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7517. }
  7518. };
  7519. class U8G2_HX1230_96X68_2_4W_SW_SPI : public U8G2 {
  7520. public: U8G2_HX1230_96X68_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7521. u8g2_Setup_hx1230_96x68_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7522. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7523. }
  7524. };
  7525. #if defined U8G2_USE_HW_SPI
  7526. class U8G2_HX1230_96X68_2_4W_HW_SPI : public U8G2 {
  7527. public: U8G2_HX1230_96X68_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7528. u8g2_Setup_hx1230_96x68_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7529. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7530. }
  7531. };
  7532. #endif
  7533. class U8G2_HX1230_96X68_2_3W_SW_SPI : public U8G2 {
  7534. public: U8G2_HX1230_96X68_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7535. u8g2_Setup_hx1230_96x68_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7536. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7537. }
  7538. };
  7539. class U8G2_HX1230_96X68_F_4W_SW_SPI : public U8G2 {
  7540. public: U8G2_HX1230_96X68_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7541. u8g2_Setup_hx1230_96x68_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7542. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7543. }
  7544. };
  7545. #if defined U8G2_USE_HW_SPI
  7546. class U8G2_HX1230_96X68_F_4W_HW_SPI : public U8G2 {
  7547. public: U8G2_HX1230_96X68_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7548. u8g2_Setup_hx1230_96x68_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7549. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7550. }
  7551. };
  7552. #endif
  7553. class U8G2_HX1230_96X68_F_3W_SW_SPI : public U8G2 {
  7554. public: U8G2_HX1230_96X68_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7555. u8g2_Setup_hx1230_96x68_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7556. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7557. }
  7558. };
  7559. class U8G2_UC1604_JLX19264_1_4W_SW_SPI : public U8G2 {
  7560. public: U8G2_UC1604_JLX19264_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7561. u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7562. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7563. }
  7564. };
  7565. #if defined U8G2_USE_HW_SPI
  7566. class U8G2_UC1604_JLX19264_1_4W_HW_SPI : public U8G2 {
  7567. public: U8G2_UC1604_JLX19264_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7568. u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7569. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7570. }
  7571. };
  7572. #endif
  7573. class U8G2_UC1604_JLX19264_1_3W_SW_SPI : public U8G2 {
  7574. public: U8G2_UC1604_JLX19264_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7575. u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7576. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7577. }
  7578. };
  7579. class U8G2_UC1604_JLX19264_1_6800 : public U8G2 {
  7580. public: U8G2_UC1604_JLX19264_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7581. u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7582. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7583. }
  7584. };
  7585. class U8G2_UC1604_JLX19264_1_8080 : public U8G2 {
  7586. public: U8G2_UC1604_JLX19264_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7587. u8g2_Setup_uc1604_jlx19264_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7588. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7589. }
  7590. };
  7591. class U8G2_UC1604_JLX19264_2_4W_SW_SPI : public U8G2 {
  7592. public: U8G2_UC1604_JLX19264_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7593. u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7594. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7595. }
  7596. };
  7597. #if defined U8G2_USE_HW_SPI
  7598. class U8G2_UC1604_JLX19264_2_4W_HW_SPI : public U8G2 {
  7599. public: U8G2_UC1604_JLX19264_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7600. u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7601. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7602. }
  7603. };
  7604. #endif
  7605. class U8G2_UC1604_JLX19264_2_3W_SW_SPI : public U8G2 {
  7606. public: U8G2_UC1604_JLX19264_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7607. u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7608. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7609. }
  7610. };
  7611. class U8G2_UC1604_JLX19264_2_6800 : public U8G2 {
  7612. public: U8G2_UC1604_JLX19264_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7613. u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7614. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7615. }
  7616. };
  7617. class U8G2_UC1604_JLX19264_2_8080 : public U8G2 {
  7618. public: U8G2_UC1604_JLX19264_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7619. u8g2_Setup_uc1604_jlx19264_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7620. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7621. }
  7622. };
  7623. class U8G2_UC1604_JLX19264_F_4W_SW_SPI : public U8G2 {
  7624. public: U8G2_UC1604_JLX19264_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7625. u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7626. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7627. }
  7628. };
  7629. #if defined U8G2_USE_HW_SPI
  7630. class U8G2_UC1604_JLX19264_F_4W_HW_SPI : public U8G2 {
  7631. public: U8G2_UC1604_JLX19264_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7632. u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7633. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7634. }
  7635. };
  7636. #endif
  7637. class U8G2_UC1604_JLX19264_F_3W_SW_SPI : public U8G2 {
  7638. public: U8G2_UC1604_JLX19264_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7639. u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7640. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7641. }
  7642. };
  7643. class U8G2_UC1604_JLX19264_F_6800 : public U8G2 {
  7644. public: U8G2_UC1604_JLX19264_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7645. u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7646. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7647. }
  7648. };
  7649. class U8G2_UC1604_JLX19264_F_8080 : public U8G2 {
  7650. public: U8G2_UC1604_JLX19264_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7651. u8g2_Setup_uc1604_jlx19264_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7652. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7653. }
  7654. };
  7655. class U8G2_UC1604_JLX19264_1_SW_I2C : public U8G2 {
  7656. public: U8G2_UC1604_JLX19264_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7657. u8g2_Setup_uc1604_i2c_jlx19264_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  7658. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  7659. }
  7660. };
  7661. #if defined U8G2_USE_HW_I2C
  7662. class U8G2_UC1604_JLX19264_1_HW_I2C : public U8G2 {
  7663. public: U8G2_UC1604_JLX19264_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  7664. u8g2_Setup_uc1604_i2c_jlx19264_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  7665. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  7666. }
  7667. };
  7668. #endif
  7669. class U8G2_UC1604_JLX19264_2_SW_I2C : public U8G2 {
  7670. public: U8G2_UC1604_JLX19264_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7671. u8g2_Setup_uc1604_i2c_jlx19264_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  7672. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  7673. }
  7674. };
  7675. #if defined U8G2_USE_HW_I2C
  7676. class U8G2_UC1604_JLX19264_2_HW_I2C : public U8G2 {
  7677. public: U8G2_UC1604_JLX19264_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  7678. u8g2_Setup_uc1604_i2c_jlx19264_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  7679. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  7680. }
  7681. };
  7682. #endif
  7683. class U8G2_UC1604_JLX19264_F_SW_I2C : public U8G2 {
  7684. public: U8G2_UC1604_JLX19264_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7685. u8g2_Setup_uc1604_i2c_jlx19264_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  7686. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  7687. }
  7688. };
  7689. #if defined U8G2_USE_HW_I2C
  7690. class U8G2_UC1604_JLX19264_F_HW_I2C : public U8G2 {
  7691. public: U8G2_UC1604_JLX19264_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  7692. u8g2_Setup_uc1604_i2c_jlx19264_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  7693. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  7694. }
  7695. };
  7696. #endif
  7697. class U8G2_UC1608_ERC24064_1_4W_SW_SPI : public U8G2 {
  7698. public: U8G2_UC1608_ERC24064_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7699. u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7700. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7701. }
  7702. };
  7703. #if defined U8G2_USE_HW_SPI
  7704. class U8G2_UC1608_ERC24064_1_4W_HW_SPI : public U8G2 {
  7705. public: U8G2_UC1608_ERC24064_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7706. u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7707. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7708. }
  7709. };
  7710. #endif
  7711. class U8G2_UC1608_ERC24064_1_3W_SW_SPI : public U8G2 {
  7712. public: U8G2_UC1608_ERC24064_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7713. u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7714. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7715. }
  7716. };
  7717. class U8G2_UC1608_ERC24064_1_6800 : public U8G2 {
  7718. public: U8G2_UC1608_ERC24064_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7719. u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7720. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7721. }
  7722. };
  7723. class U8G2_UC1608_ERC24064_1_8080 : public U8G2 {
  7724. public: U8G2_UC1608_ERC24064_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7725. u8g2_Setup_uc1608_erc24064_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7726. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7727. }
  7728. };
  7729. class U8G2_UC1608_DEM240064_1_4W_SW_SPI : public U8G2 {
  7730. public: U8G2_UC1608_DEM240064_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7731. u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7732. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7733. }
  7734. };
  7735. #if defined U8G2_USE_HW_SPI
  7736. class U8G2_UC1608_DEM240064_1_4W_HW_SPI : public U8G2 {
  7737. public: U8G2_UC1608_DEM240064_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7738. u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7739. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7740. }
  7741. };
  7742. #endif
  7743. class U8G2_UC1608_DEM240064_1_3W_SW_SPI : public U8G2 {
  7744. public: U8G2_UC1608_DEM240064_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7745. u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7746. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7747. }
  7748. };
  7749. class U8G2_UC1608_DEM240064_1_6800 : public U8G2 {
  7750. public: U8G2_UC1608_DEM240064_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7751. u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7752. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7753. }
  7754. };
  7755. class U8G2_UC1608_DEM240064_1_8080 : public U8G2 {
  7756. public: U8G2_UC1608_DEM240064_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7757. u8g2_Setup_uc1608_dem240064_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7758. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7759. }
  7760. };
  7761. class U8G2_UC1608_ERC24064_2_4W_SW_SPI : public U8G2 {
  7762. public: U8G2_UC1608_ERC24064_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7763. u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7764. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7765. }
  7766. };
  7767. #if defined U8G2_USE_HW_SPI
  7768. class U8G2_UC1608_ERC24064_2_4W_HW_SPI : public U8G2 {
  7769. public: U8G2_UC1608_ERC24064_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7770. u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7771. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7772. }
  7773. };
  7774. #endif
  7775. class U8G2_UC1608_ERC24064_2_3W_SW_SPI : public U8G2 {
  7776. public: U8G2_UC1608_ERC24064_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7777. u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7778. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7779. }
  7780. };
  7781. class U8G2_UC1608_ERC24064_2_6800 : public U8G2 {
  7782. public: U8G2_UC1608_ERC24064_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7783. u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7784. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7785. }
  7786. };
  7787. class U8G2_UC1608_ERC24064_2_8080 : public U8G2 {
  7788. public: U8G2_UC1608_ERC24064_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7789. u8g2_Setup_uc1608_erc24064_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7790. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7791. }
  7792. };
  7793. class U8G2_UC1608_DEM240064_2_4W_SW_SPI : public U8G2 {
  7794. public: U8G2_UC1608_DEM240064_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7795. u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7796. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7797. }
  7798. };
  7799. #if defined U8G2_USE_HW_SPI
  7800. class U8G2_UC1608_DEM240064_2_4W_HW_SPI : public U8G2 {
  7801. public: U8G2_UC1608_DEM240064_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7802. u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7803. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7804. }
  7805. };
  7806. #endif
  7807. class U8G2_UC1608_DEM240064_2_3W_SW_SPI : public U8G2 {
  7808. public: U8G2_UC1608_DEM240064_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7809. u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7810. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7811. }
  7812. };
  7813. class U8G2_UC1608_DEM240064_2_6800 : public U8G2 {
  7814. public: U8G2_UC1608_DEM240064_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7815. u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7816. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7817. }
  7818. };
  7819. class U8G2_UC1608_DEM240064_2_8080 : public U8G2 {
  7820. public: U8G2_UC1608_DEM240064_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7821. u8g2_Setup_uc1608_dem240064_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7822. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7823. }
  7824. };
  7825. class U8G2_UC1608_ERC24064_F_4W_SW_SPI : public U8G2 {
  7826. public: U8G2_UC1608_ERC24064_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7827. u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7828. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7829. }
  7830. };
  7831. #if defined U8G2_USE_HW_SPI
  7832. class U8G2_UC1608_ERC24064_F_4W_HW_SPI : public U8G2 {
  7833. public: U8G2_UC1608_ERC24064_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7834. u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7835. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7836. }
  7837. };
  7838. #endif
  7839. class U8G2_UC1608_ERC24064_F_3W_SW_SPI : public U8G2 {
  7840. public: U8G2_UC1608_ERC24064_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7841. u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7842. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7843. }
  7844. };
  7845. class U8G2_UC1608_ERC24064_F_6800 : public U8G2 {
  7846. public: U8G2_UC1608_ERC24064_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7847. u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7848. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7849. }
  7850. };
  7851. class U8G2_UC1608_ERC24064_F_8080 : public U8G2 {
  7852. public: U8G2_UC1608_ERC24064_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7853. u8g2_Setup_uc1608_erc24064_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7854. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7855. }
  7856. };
  7857. class U8G2_UC1608_DEM240064_F_4W_SW_SPI : public U8G2 {
  7858. public: U8G2_UC1608_DEM240064_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7859. u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7860. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7861. }
  7862. };
  7863. #if defined U8G2_USE_HW_SPI
  7864. class U8G2_UC1608_DEM240064_F_4W_HW_SPI : public U8G2 {
  7865. public: U8G2_UC1608_DEM240064_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7866. u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7867. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7868. }
  7869. };
  7870. #endif
  7871. class U8G2_UC1608_DEM240064_F_3W_SW_SPI : public U8G2 {
  7872. public: U8G2_UC1608_DEM240064_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7873. u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7874. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7875. }
  7876. };
  7877. class U8G2_UC1608_DEM240064_F_6800 : public U8G2 {
  7878. public: U8G2_UC1608_DEM240064_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7879. u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7880. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7881. }
  7882. };
  7883. class U8G2_UC1608_DEM240064_F_8080 : public U8G2 {
  7884. public: U8G2_UC1608_DEM240064_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7885. u8g2_Setup_uc1608_dem240064_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  7886. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7887. }
  7888. };
  7889. class U8G2_UC1608_ERC24064_1_SW_I2C : public U8G2 {
  7890. public: U8G2_UC1608_ERC24064_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7891. u8g2_Setup_uc1608_i2c_erc24064_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  7892. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  7893. }
  7894. };
  7895. #if defined U8G2_USE_HW_I2C
  7896. class U8G2_UC1608_ERC24064_1_HW_I2C : public U8G2 {
  7897. public: U8G2_UC1608_ERC24064_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  7898. u8g2_Setup_uc1608_i2c_erc24064_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  7899. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  7900. }
  7901. };
  7902. #endif
  7903. class U8G2_UC1608_DEM240064_1_SW_I2C : public U8G2 {
  7904. public: U8G2_UC1608_DEM240064_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7905. u8g2_Setup_uc1608_i2c_dem240064_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  7906. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  7907. }
  7908. };
  7909. #if defined U8G2_USE_HW_I2C
  7910. class U8G2_UC1608_DEM240064_1_HW_I2C : public U8G2 {
  7911. public: U8G2_UC1608_DEM240064_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  7912. u8g2_Setup_uc1608_i2c_dem240064_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  7913. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  7914. }
  7915. };
  7916. #endif
  7917. class U8G2_UC1608_ERC24064_2_SW_I2C : public U8G2 {
  7918. public: U8G2_UC1608_ERC24064_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7919. u8g2_Setup_uc1608_i2c_erc24064_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  7920. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  7921. }
  7922. };
  7923. #if defined U8G2_USE_HW_I2C
  7924. class U8G2_UC1608_ERC24064_2_HW_I2C : public U8G2 {
  7925. public: U8G2_UC1608_ERC24064_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  7926. u8g2_Setup_uc1608_i2c_erc24064_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  7927. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  7928. }
  7929. };
  7930. #endif
  7931. class U8G2_UC1608_DEM240064_2_SW_I2C : public U8G2 {
  7932. public: U8G2_UC1608_DEM240064_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7933. u8g2_Setup_uc1608_i2c_dem240064_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  7934. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  7935. }
  7936. };
  7937. #if defined U8G2_USE_HW_I2C
  7938. class U8G2_UC1608_DEM240064_2_HW_I2C : public U8G2 {
  7939. public: U8G2_UC1608_DEM240064_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  7940. u8g2_Setup_uc1608_i2c_dem240064_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  7941. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  7942. }
  7943. };
  7944. #endif
  7945. class U8G2_UC1608_ERC24064_F_SW_I2C : public U8G2 {
  7946. public: U8G2_UC1608_ERC24064_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7947. u8g2_Setup_uc1608_i2c_erc24064_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  7948. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  7949. }
  7950. };
  7951. #if defined U8G2_USE_HW_I2C
  7952. class U8G2_UC1608_ERC24064_F_HW_I2C : public U8G2 {
  7953. public: U8G2_UC1608_ERC24064_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  7954. u8g2_Setup_uc1608_i2c_erc24064_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  7955. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  7956. }
  7957. };
  7958. #endif
  7959. class U8G2_UC1608_DEM240064_F_SW_I2C : public U8G2 {
  7960. public: U8G2_UC1608_DEM240064_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7961. u8g2_Setup_uc1608_i2c_dem240064_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  7962. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  7963. }
  7964. };
  7965. #if defined U8G2_USE_HW_I2C
  7966. class U8G2_UC1608_DEM240064_F_HW_I2C : public U8G2 {
  7967. public: U8G2_UC1608_DEM240064_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  7968. u8g2_Setup_uc1608_i2c_dem240064_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  7969. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  7970. }
  7971. };
  7972. #endif
  7973. class U8G2_UC1608_ERC240120_1_4W_SW_SPI : public U8G2 {
  7974. public: U8G2_UC1608_ERC240120_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7975. u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7976. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  7977. }
  7978. };
  7979. #if defined U8G2_USE_HW_SPI
  7980. class U8G2_UC1608_ERC240120_1_4W_HW_SPI : public U8G2 {
  7981. public: U8G2_UC1608_ERC240120_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7982. u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  7983. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  7984. }
  7985. };
  7986. #endif
  7987. class U8G2_UC1608_ERC240120_1_3W_SW_SPI : public U8G2 {
  7988. public: U8G2_UC1608_ERC240120_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7989. u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  7990. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  7991. }
  7992. };
  7993. class U8G2_UC1608_ERC240120_1_6800 : public U8G2 {
  7994. public: U8G2_UC1608_ERC240120_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  7995. u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  7996. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  7997. }
  7998. };
  7999. class U8G2_UC1608_ERC240120_1_8080 : public U8G2 {
  8000. public: U8G2_UC1608_ERC240120_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8001. u8g2_Setup_uc1608_erc240120_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8002. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8003. }
  8004. };
  8005. class U8G2_UC1608_ERC240120_2_4W_SW_SPI : public U8G2 {
  8006. public: U8G2_UC1608_ERC240120_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8007. u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8008. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8009. }
  8010. };
  8011. #if defined U8G2_USE_HW_SPI
  8012. class U8G2_UC1608_ERC240120_2_4W_HW_SPI : public U8G2 {
  8013. public: U8G2_UC1608_ERC240120_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8014. u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8015. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8016. }
  8017. };
  8018. #endif
  8019. class U8G2_UC1608_ERC240120_2_3W_SW_SPI : public U8G2 {
  8020. public: U8G2_UC1608_ERC240120_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8021. u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8022. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8023. }
  8024. };
  8025. class U8G2_UC1608_ERC240120_2_6800 : public U8G2 {
  8026. public: U8G2_UC1608_ERC240120_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8027. u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8028. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8029. }
  8030. };
  8031. class U8G2_UC1608_ERC240120_2_8080 : public U8G2 {
  8032. public: U8G2_UC1608_ERC240120_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8033. u8g2_Setup_uc1608_erc240120_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8034. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8035. }
  8036. };
  8037. class U8G2_UC1608_ERC240120_F_4W_SW_SPI : public U8G2 {
  8038. public: U8G2_UC1608_ERC240120_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8039. u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8040. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8041. }
  8042. };
  8043. #if defined U8G2_USE_HW_SPI
  8044. class U8G2_UC1608_ERC240120_F_4W_HW_SPI : public U8G2 {
  8045. public: U8G2_UC1608_ERC240120_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8046. u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8047. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8048. }
  8049. };
  8050. #endif
  8051. class U8G2_UC1608_ERC240120_F_3W_SW_SPI : public U8G2 {
  8052. public: U8G2_UC1608_ERC240120_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8053. u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8054. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8055. }
  8056. };
  8057. class U8G2_UC1608_ERC240120_F_6800 : public U8G2 {
  8058. public: U8G2_UC1608_ERC240120_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8059. u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8060. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8061. }
  8062. };
  8063. class U8G2_UC1608_ERC240120_F_8080 : public U8G2 {
  8064. public: U8G2_UC1608_ERC240120_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8065. u8g2_Setup_uc1608_erc240120_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8066. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8067. }
  8068. };
  8069. class U8G2_UC1608_ERC240120_1_SW_I2C : public U8G2 {
  8070. public: U8G2_UC1608_ERC240120_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8071. u8g2_Setup_uc1608_i2c_erc240120_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8072. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8073. }
  8074. };
  8075. #if defined U8G2_USE_HW_I2C
  8076. class U8G2_UC1608_ERC240120_1_HW_I2C : public U8G2 {
  8077. public: U8G2_UC1608_ERC240120_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8078. u8g2_Setup_uc1608_i2c_erc240120_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8079. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8080. }
  8081. };
  8082. #endif
  8083. class U8G2_UC1608_ERC240120_2_SW_I2C : public U8G2 {
  8084. public: U8G2_UC1608_ERC240120_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8085. u8g2_Setup_uc1608_i2c_erc240120_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8086. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8087. }
  8088. };
  8089. #if defined U8G2_USE_HW_I2C
  8090. class U8G2_UC1608_ERC240120_2_HW_I2C : public U8G2 {
  8091. public: U8G2_UC1608_ERC240120_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8092. u8g2_Setup_uc1608_i2c_erc240120_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8093. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8094. }
  8095. };
  8096. #endif
  8097. class U8G2_UC1608_ERC240120_F_SW_I2C : public U8G2 {
  8098. public: U8G2_UC1608_ERC240120_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8099. u8g2_Setup_uc1608_i2c_erc240120_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8100. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8101. }
  8102. };
  8103. #if defined U8G2_USE_HW_I2C
  8104. class U8G2_UC1608_ERC240120_F_HW_I2C : public U8G2 {
  8105. public: U8G2_UC1608_ERC240120_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8106. u8g2_Setup_uc1608_i2c_erc240120_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8107. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8108. }
  8109. };
  8110. #endif
  8111. class U8G2_UC1608_240X128_1_4W_SW_SPI : public U8G2 {
  8112. public: U8G2_UC1608_240X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8113. u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8114. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8115. }
  8116. };
  8117. #if defined U8G2_USE_HW_SPI
  8118. class U8G2_UC1608_240X128_1_4W_HW_SPI : public U8G2 {
  8119. public: U8G2_UC1608_240X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8120. u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8121. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8122. }
  8123. };
  8124. #endif
  8125. class U8G2_UC1608_240X128_1_3W_SW_SPI : public U8G2 {
  8126. public: U8G2_UC1608_240X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8127. u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8128. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8129. }
  8130. };
  8131. class U8G2_UC1608_240X128_1_6800 : public U8G2 {
  8132. public: U8G2_UC1608_240X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8133. u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8134. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8135. }
  8136. };
  8137. class U8G2_UC1608_240X128_1_8080 : public U8G2 {
  8138. public: U8G2_UC1608_240X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8139. u8g2_Setup_uc1608_240x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8140. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8141. }
  8142. };
  8143. class U8G2_UC1608_240X128_2_4W_SW_SPI : public U8G2 {
  8144. public: U8G2_UC1608_240X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8145. u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8146. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8147. }
  8148. };
  8149. #if defined U8G2_USE_HW_SPI
  8150. class U8G2_UC1608_240X128_2_4W_HW_SPI : public U8G2 {
  8151. public: U8G2_UC1608_240X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8152. u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8153. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8154. }
  8155. };
  8156. #endif
  8157. class U8G2_UC1608_240X128_2_3W_SW_SPI : public U8G2 {
  8158. public: U8G2_UC1608_240X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8159. u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8160. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8161. }
  8162. };
  8163. class U8G2_UC1608_240X128_2_6800 : public U8G2 {
  8164. public: U8G2_UC1608_240X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8165. u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8166. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8167. }
  8168. };
  8169. class U8G2_UC1608_240X128_2_8080 : public U8G2 {
  8170. public: U8G2_UC1608_240X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8171. u8g2_Setup_uc1608_240x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8172. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8173. }
  8174. };
  8175. class U8G2_UC1608_240X128_F_4W_SW_SPI : public U8G2 {
  8176. public: U8G2_UC1608_240X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8177. u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8178. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8179. }
  8180. };
  8181. #if defined U8G2_USE_HW_SPI
  8182. class U8G2_UC1608_240X128_F_4W_HW_SPI : public U8G2 {
  8183. public: U8G2_UC1608_240X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8184. u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8185. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8186. }
  8187. };
  8188. #endif
  8189. class U8G2_UC1608_240X128_F_3W_SW_SPI : public U8G2 {
  8190. public: U8G2_UC1608_240X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8191. u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8192. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8193. }
  8194. };
  8195. class U8G2_UC1608_240X128_F_6800 : public U8G2 {
  8196. public: U8G2_UC1608_240X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8197. u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8198. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8199. }
  8200. };
  8201. class U8G2_UC1608_240X128_F_8080 : public U8G2 {
  8202. public: U8G2_UC1608_240X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8203. u8g2_Setup_uc1608_240x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8204. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8205. }
  8206. };
  8207. class U8G2_UC1608_240X128_1_SW_I2C : public U8G2 {
  8208. public: U8G2_UC1608_240X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8209. u8g2_Setup_uc1608_i2c_240x128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8210. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8211. }
  8212. };
  8213. #if defined U8G2_USE_HW_I2C
  8214. class U8G2_UC1608_240X128_1_HW_I2C : public U8G2 {
  8215. public: U8G2_UC1608_240X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8216. u8g2_Setup_uc1608_i2c_240x128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8217. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8218. }
  8219. };
  8220. #endif
  8221. class U8G2_UC1608_240X128_2_SW_I2C : public U8G2 {
  8222. public: U8G2_UC1608_240X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8223. u8g2_Setup_uc1608_i2c_240x128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8224. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8225. }
  8226. };
  8227. #if defined U8G2_USE_HW_I2C
  8228. class U8G2_UC1608_240X128_2_HW_I2C : public U8G2 {
  8229. public: U8G2_UC1608_240X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8230. u8g2_Setup_uc1608_i2c_240x128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8231. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8232. }
  8233. };
  8234. #endif
  8235. class U8G2_UC1608_240X128_F_SW_I2C : public U8G2 {
  8236. public: U8G2_UC1608_240X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8237. u8g2_Setup_uc1608_i2c_240x128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8238. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8239. }
  8240. };
  8241. #if defined U8G2_USE_HW_I2C
  8242. class U8G2_UC1608_240X128_F_HW_I2C : public U8G2 {
  8243. public: U8G2_UC1608_240X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8244. u8g2_Setup_uc1608_i2c_240x128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8245. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8246. }
  8247. };
  8248. #endif
  8249. class U8G2_UC1609_SLG19264_1_4W_SW_SPI : public U8G2 {
  8250. public: U8G2_UC1609_SLG19264_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8251. u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8252. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8253. }
  8254. };
  8255. #if defined U8G2_USE_HW_SPI
  8256. class U8G2_UC1609_SLG19264_1_4W_HW_SPI : public U8G2 {
  8257. public: U8G2_UC1609_SLG19264_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8258. u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8259. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8260. }
  8261. };
  8262. #endif
  8263. class U8G2_UC1609_SLG19264_1_3W_SW_SPI : public U8G2 {
  8264. public: U8G2_UC1609_SLG19264_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8265. u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8266. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8267. }
  8268. };
  8269. class U8G2_UC1609_SLG19264_1_6800 : public U8G2 {
  8270. public: U8G2_UC1609_SLG19264_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8271. u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8272. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8273. }
  8274. };
  8275. class U8G2_UC1609_SLG19264_1_8080 : public U8G2 {
  8276. public: U8G2_UC1609_SLG19264_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8277. u8g2_Setup_uc1609_slg19264_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8278. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8279. }
  8280. };
  8281. class U8G2_UC1609_SLG19264_2_4W_SW_SPI : public U8G2 {
  8282. public: U8G2_UC1609_SLG19264_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8283. u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8284. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8285. }
  8286. };
  8287. #if defined U8G2_USE_HW_SPI
  8288. class U8G2_UC1609_SLG19264_2_4W_HW_SPI : public U8G2 {
  8289. public: U8G2_UC1609_SLG19264_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8290. u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8291. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8292. }
  8293. };
  8294. #endif
  8295. class U8G2_UC1609_SLG19264_2_3W_SW_SPI : public U8G2 {
  8296. public: U8G2_UC1609_SLG19264_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8297. u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8298. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8299. }
  8300. };
  8301. class U8G2_UC1609_SLG19264_2_6800 : public U8G2 {
  8302. public: U8G2_UC1609_SLG19264_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8303. u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8304. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8305. }
  8306. };
  8307. class U8G2_UC1609_SLG19264_2_8080 : public U8G2 {
  8308. public: U8G2_UC1609_SLG19264_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8309. u8g2_Setup_uc1609_slg19264_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8310. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8311. }
  8312. };
  8313. class U8G2_UC1609_SLG19264_F_4W_SW_SPI : public U8G2 {
  8314. public: U8G2_UC1609_SLG19264_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8315. u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8316. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8317. }
  8318. };
  8319. #if defined U8G2_USE_HW_SPI
  8320. class U8G2_UC1609_SLG19264_F_4W_HW_SPI : public U8G2 {
  8321. public: U8G2_UC1609_SLG19264_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8322. u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8323. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8324. }
  8325. };
  8326. #endif
  8327. class U8G2_UC1609_SLG19264_F_3W_SW_SPI : public U8G2 {
  8328. public: U8G2_UC1609_SLG19264_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8329. u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8330. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8331. }
  8332. };
  8333. class U8G2_UC1609_SLG19264_F_6800 : public U8G2 {
  8334. public: U8G2_UC1609_SLG19264_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8335. u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8336. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8337. }
  8338. };
  8339. class U8G2_UC1609_SLG19264_F_8080 : public U8G2 {
  8340. public: U8G2_UC1609_SLG19264_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8341. u8g2_Setup_uc1609_slg19264_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8342. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8343. }
  8344. };
  8345. class U8G2_UC1609_SLG19264_1_SW_I2C : public U8G2 {
  8346. public: U8G2_UC1609_SLG19264_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8347. u8g2_Setup_uc1609_i2c_slg19264_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8348. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8349. }
  8350. };
  8351. #if defined U8G2_USE_HW_I2C
  8352. class U8G2_UC1609_SLG19264_1_HW_I2C : public U8G2 {
  8353. public: U8G2_UC1609_SLG19264_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8354. u8g2_Setup_uc1609_i2c_slg19264_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8355. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8356. }
  8357. };
  8358. #endif
  8359. class U8G2_UC1609_SLG19264_2_SW_I2C : public U8G2 {
  8360. public: U8G2_UC1609_SLG19264_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8361. u8g2_Setup_uc1609_i2c_slg19264_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8362. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8363. }
  8364. };
  8365. #if defined U8G2_USE_HW_I2C
  8366. class U8G2_UC1609_SLG19264_2_HW_I2C : public U8G2 {
  8367. public: U8G2_UC1609_SLG19264_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8368. u8g2_Setup_uc1609_i2c_slg19264_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8369. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8370. }
  8371. };
  8372. #endif
  8373. class U8G2_UC1609_SLG19264_F_SW_I2C : public U8G2 {
  8374. public: U8G2_UC1609_SLG19264_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8375. u8g2_Setup_uc1609_i2c_slg19264_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8376. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8377. }
  8378. };
  8379. #if defined U8G2_USE_HW_I2C
  8380. class U8G2_UC1609_SLG19264_F_HW_I2C : public U8G2 {
  8381. public: U8G2_UC1609_SLG19264_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8382. u8g2_Setup_uc1609_i2c_slg19264_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8383. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8384. }
  8385. };
  8386. #endif
  8387. class U8G2_UC1638_160X128_1_4W_SW_SPI : public U8G2 {
  8388. public: U8G2_UC1638_160X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8389. u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8390. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8391. }
  8392. };
  8393. #if defined U8G2_USE_HW_SPI
  8394. class U8G2_UC1638_160X128_1_4W_HW_SPI : public U8G2 {
  8395. public: U8G2_UC1638_160X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8396. u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8397. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8398. }
  8399. };
  8400. #endif
  8401. class U8G2_UC1638_160X128_1_3W_SW_SPI : public U8G2 {
  8402. public: U8G2_UC1638_160X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8403. u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8404. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8405. }
  8406. };
  8407. class U8G2_UC1638_160X128_1_6800 : public U8G2 {
  8408. public: U8G2_UC1638_160X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8409. u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8410. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8411. }
  8412. };
  8413. class U8G2_UC1638_160X128_1_8080 : public U8G2 {
  8414. public: U8G2_UC1638_160X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8415. u8g2_Setup_uc1638_160x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8416. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8417. }
  8418. };
  8419. class U8G2_UC1638_160X128_2_4W_SW_SPI : public U8G2 {
  8420. public: U8G2_UC1638_160X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8421. u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8422. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8423. }
  8424. };
  8425. #if defined U8G2_USE_HW_SPI
  8426. class U8G2_UC1638_160X128_2_4W_HW_SPI : public U8G2 {
  8427. public: U8G2_UC1638_160X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8428. u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8429. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8430. }
  8431. };
  8432. #endif
  8433. class U8G2_UC1638_160X128_2_3W_SW_SPI : public U8G2 {
  8434. public: U8G2_UC1638_160X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8435. u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8436. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8437. }
  8438. };
  8439. class U8G2_UC1638_160X128_2_6800 : public U8G2 {
  8440. public: U8G2_UC1638_160X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8441. u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8442. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8443. }
  8444. };
  8445. class U8G2_UC1638_160X128_2_8080 : public U8G2 {
  8446. public: U8G2_UC1638_160X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8447. u8g2_Setup_uc1638_160x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8448. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8449. }
  8450. };
  8451. class U8G2_UC1638_160X128_F_4W_SW_SPI : public U8G2 {
  8452. public: U8G2_UC1638_160X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8453. u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8454. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8455. }
  8456. };
  8457. #if defined U8G2_USE_HW_SPI
  8458. class U8G2_UC1638_160X128_F_4W_HW_SPI : public U8G2 {
  8459. public: U8G2_UC1638_160X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8460. u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8461. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8462. }
  8463. };
  8464. #endif
  8465. class U8G2_UC1638_160X128_F_3W_SW_SPI : public U8G2 {
  8466. public: U8G2_UC1638_160X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8467. u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8468. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8469. }
  8470. };
  8471. class U8G2_UC1638_160X128_F_6800 : public U8G2 {
  8472. public: U8G2_UC1638_160X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8473. u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8474. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8475. }
  8476. };
  8477. class U8G2_UC1638_160X128_F_8080 : public U8G2 {
  8478. public: U8G2_UC1638_160X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8479. u8g2_Setup_uc1638_160x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8480. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8481. }
  8482. };
  8483. class U8G2_UC1638_192X96_1_4W_SW_SPI : public U8G2 {
  8484. public: U8G2_UC1638_192X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8485. u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8486. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8487. }
  8488. };
  8489. #if defined U8G2_USE_HW_SPI
  8490. class U8G2_UC1638_192X96_1_4W_HW_SPI : public U8G2 {
  8491. public: U8G2_UC1638_192X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8492. u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8493. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8494. }
  8495. };
  8496. #endif
  8497. class U8G2_UC1638_192X96_1_3W_SW_SPI : public U8G2 {
  8498. public: U8G2_UC1638_192X96_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8499. u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8500. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8501. }
  8502. };
  8503. class U8G2_UC1638_192X96_1_6800 : public U8G2 {
  8504. public: U8G2_UC1638_192X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8505. u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8506. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8507. }
  8508. };
  8509. class U8G2_UC1638_192X96_1_8080 : public U8G2 {
  8510. public: U8G2_UC1638_192X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8511. u8g2_Setup_uc1638_192x96_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8512. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8513. }
  8514. };
  8515. class U8G2_UC1638_192X96_2_4W_SW_SPI : public U8G2 {
  8516. public: U8G2_UC1638_192X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8517. u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8518. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8519. }
  8520. };
  8521. #if defined U8G2_USE_HW_SPI
  8522. class U8G2_UC1638_192X96_2_4W_HW_SPI : public U8G2 {
  8523. public: U8G2_UC1638_192X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8524. u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8525. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8526. }
  8527. };
  8528. #endif
  8529. class U8G2_UC1638_192X96_2_3W_SW_SPI : public U8G2 {
  8530. public: U8G2_UC1638_192X96_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8531. u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8532. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8533. }
  8534. };
  8535. class U8G2_UC1638_192X96_2_6800 : public U8G2 {
  8536. public: U8G2_UC1638_192X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8537. u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8538. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8539. }
  8540. };
  8541. class U8G2_UC1638_192X96_2_8080 : public U8G2 {
  8542. public: U8G2_UC1638_192X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8543. u8g2_Setup_uc1638_192x96_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8544. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8545. }
  8546. };
  8547. class U8G2_UC1638_192X96_F_4W_SW_SPI : public U8G2 {
  8548. public: U8G2_UC1638_192X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8549. u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8550. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8551. }
  8552. };
  8553. #if defined U8G2_USE_HW_SPI
  8554. class U8G2_UC1638_192X96_F_4W_HW_SPI : public U8G2 {
  8555. public: U8G2_UC1638_192X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8556. u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8557. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8558. }
  8559. };
  8560. #endif
  8561. class U8G2_UC1638_192X96_F_3W_SW_SPI : public U8G2 {
  8562. public: U8G2_UC1638_192X96_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8563. u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8564. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8565. }
  8566. };
  8567. class U8G2_UC1638_192X96_F_6800 : public U8G2 {
  8568. public: U8G2_UC1638_192X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8569. u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8570. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8571. }
  8572. };
  8573. class U8G2_UC1638_192X96_F_8080 : public U8G2 {
  8574. public: U8G2_UC1638_192X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8575. u8g2_Setup_uc1638_192x96_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8576. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8577. }
  8578. };
  8579. class U8G2_UC1638_192X96_1_SW_I2C : public U8G2 {
  8580. public: U8G2_UC1638_192X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8581. u8g2_Setup_uc1638_i2c_192x96_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8582. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8583. }
  8584. };
  8585. #if defined U8G2_USE_HW_I2C
  8586. class U8G2_UC1638_192X96_1_HW_I2C : public U8G2 {
  8587. public: U8G2_UC1638_192X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8588. u8g2_Setup_uc1638_i2c_192x96_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8589. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8590. }
  8591. };
  8592. #endif
  8593. class U8G2_UC1638_192X96_2_SW_I2C : public U8G2 {
  8594. public: U8G2_UC1638_192X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8595. u8g2_Setup_uc1638_i2c_192x96_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8596. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8597. }
  8598. };
  8599. #if defined U8G2_USE_HW_I2C
  8600. class U8G2_UC1638_192X96_2_HW_I2C : public U8G2 {
  8601. public: U8G2_UC1638_192X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8602. u8g2_Setup_uc1638_i2c_192x96_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8603. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8604. }
  8605. };
  8606. #endif
  8607. class U8G2_UC1638_192X96_F_SW_I2C : public U8G2 {
  8608. public: U8G2_UC1638_192X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8609. u8g2_Setup_uc1638_i2c_192x96_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8610. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8611. }
  8612. };
  8613. #if defined U8G2_USE_HW_I2C
  8614. class U8G2_UC1638_192X96_F_HW_I2C : public U8G2 {
  8615. public: U8G2_UC1638_192X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8616. u8g2_Setup_uc1638_i2c_192x96_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8617. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8618. }
  8619. };
  8620. #endif
  8621. class U8G2_UC1610_EA_DOGXL160_1_4W_SW_SPI : public U8G2 {
  8622. public: U8G2_UC1610_EA_DOGXL160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8623. u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8624. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8625. }
  8626. };
  8627. #if defined U8G2_USE_HW_SPI
  8628. class U8G2_UC1610_EA_DOGXL160_1_4W_HW_SPI : public U8G2 {
  8629. public: U8G2_UC1610_EA_DOGXL160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8630. u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8631. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8632. }
  8633. };
  8634. #endif
  8635. class U8G2_UC1610_EA_DOGXL160_1_3W_SW_SPI : public U8G2 {
  8636. public: U8G2_UC1610_EA_DOGXL160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8637. u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8638. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8639. }
  8640. };
  8641. class U8G2_UC1610_EA_DOGXL160_1_6800 : public U8G2 {
  8642. public: U8G2_UC1610_EA_DOGXL160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8643. u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8644. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8645. }
  8646. };
  8647. class U8G2_UC1610_EA_DOGXL160_1_8080 : public U8G2 {
  8648. public: U8G2_UC1610_EA_DOGXL160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8649. u8g2_Setup_uc1610_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8650. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8651. }
  8652. };
  8653. class U8G2_UC1610_EA_DOGXL160_2_4W_SW_SPI : public U8G2 {
  8654. public: U8G2_UC1610_EA_DOGXL160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8655. u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8656. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8657. }
  8658. };
  8659. #if defined U8G2_USE_HW_SPI
  8660. class U8G2_UC1610_EA_DOGXL160_2_4W_HW_SPI : public U8G2 {
  8661. public: U8G2_UC1610_EA_DOGXL160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8662. u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8663. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8664. }
  8665. };
  8666. #endif
  8667. class U8G2_UC1610_EA_DOGXL160_2_3W_SW_SPI : public U8G2 {
  8668. public: U8G2_UC1610_EA_DOGXL160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8669. u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8670. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8671. }
  8672. };
  8673. class U8G2_UC1610_EA_DOGXL160_2_6800 : public U8G2 {
  8674. public: U8G2_UC1610_EA_DOGXL160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8675. u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8676. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8677. }
  8678. };
  8679. class U8G2_UC1610_EA_DOGXL160_2_8080 : public U8G2 {
  8680. public: U8G2_UC1610_EA_DOGXL160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8681. u8g2_Setup_uc1610_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8682. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8683. }
  8684. };
  8685. class U8G2_UC1610_EA_DOGXL160_F_4W_SW_SPI : public U8G2 {
  8686. public: U8G2_UC1610_EA_DOGXL160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8687. u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8688. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8689. }
  8690. };
  8691. #if defined U8G2_USE_HW_SPI
  8692. class U8G2_UC1610_EA_DOGXL160_F_4W_HW_SPI : public U8G2 {
  8693. public: U8G2_UC1610_EA_DOGXL160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8694. u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8695. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8696. }
  8697. };
  8698. #endif
  8699. class U8G2_UC1610_EA_DOGXL160_F_3W_SW_SPI : public U8G2 {
  8700. public: U8G2_UC1610_EA_DOGXL160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8701. u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8702. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8703. }
  8704. };
  8705. class U8G2_UC1610_EA_DOGXL160_F_6800 : public U8G2 {
  8706. public: U8G2_UC1610_EA_DOGXL160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8707. u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8708. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8709. }
  8710. };
  8711. class U8G2_UC1610_EA_DOGXL160_F_8080 : public U8G2 {
  8712. public: U8G2_UC1610_EA_DOGXL160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8713. u8g2_Setup_uc1610_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8714. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8715. }
  8716. };
  8717. class U8G2_UC1610_EA_DOGXL160_1_SW_I2C : public U8G2 {
  8718. public: U8G2_UC1610_EA_DOGXL160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8719. u8g2_Setup_uc1610_i2c_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8720. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8721. }
  8722. };
  8723. #if defined U8G2_USE_HW_I2C
  8724. class U8G2_UC1610_EA_DOGXL160_1_HW_I2C : public U8G2 {
  8725. public: U8G2_UC1610_EA_DOGXL160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8726. u8g2_Setup_uc1610_i2c_ea_dogxl160_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8727. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8728. }
  8729. };
  8730. #endif
  8731. class U8G2_UC1610_EA_DOGXL160_2_SW_I2C : public U8G2 {
  8732. public: U8G2_UC1610_EA_DOGXL160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8733. u8g2_Setup_uc1610_i2c_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8734. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8735. }
  8736. };
  8737. #if defined U8G2_USE_HW_I2C
  8738. class U8G2_UC1610_EA_DOGXL160_2_HW_I2C : public U8G2 {
  8739. public: U8G2_UC1610_EA_DOGXL160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8740. u8g2_Setup_uc1610_i2c_ea_dogxl160_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8741. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8742. }
  8743. };
  8744. #endif
  8745. class U8G2_UC1610_EA_DOGXL160_F_SW_I2C : public U8G2 {
  8746. public: U8G2_UC1610_EA_DOGXL160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8747. u8g2_Setup_uc1610_i2c_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8748. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8749. }
  8750. };
  8751. #if defined U8G2_USE_HW_I2C
  8752. class U8G2_UC1610_EA_DOGXL160_F_HW_I2C : public U8G2 {
  8753. public: U8G2_UC1610_EA_DOGXL160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8754. u8g2_Setup_uc1610_i2c_ea_dogxl160_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8755. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8756. }
  8757. };
  8758. #endif
  8759. class U8G2_UC1611_EA_DOGM240_1_4W_SW_SPI : public U8G2 {
  8760. public: U8G2_UC1611_EA_DOGM240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8761. u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8762. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8763. }
  8764. };
  8765. #if defined U8G2_USE_HW_SPI
  8766. class U8G2_UC1611_EA_DOGM240_1_4W_HW_SPI : public U8G2 {
  8767. public: U8G2_UC1611_EA_DOGM240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8768. u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8769. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8770. }
  8771. };
  8772. #endif
  8773. class U8G2_UC1611_EA_DOGM240_1_3W_SW_SPI : public U8G2 {
  8774. public: U8G2_UC1611_EA_DOGM240_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8775. u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8776. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8777. }
  8778. };
  8779. class U8G2_UC1611_EA_DOGM240_1_6800 : public U8G2 {
  8780. public: U8G2_UC1611_EA_DOGM240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8781. u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8782. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8783. }
  8784. };
  8785. class U8G2_UC1611_EA_DOGM240_1_8080 : public U8G2 {
  8786. public: U8G2_UC1611_EA_DOGM240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8787. u8g2_Setup_uc1611_ea_dogm240_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8788. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8789. }
  8790. };
  8791. class U8G2_UC1611_EA_DOGM240_2_4W_SW_SPI : public U8G2 {
  8792. public: U8G2_UC1611_EA_DOGM240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8793. u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8794. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8795. }
  8796. };
  8797. #if defined U8G2_USE_HW_SPI
  8798. class U8G2_UC1611_EA_DOGM240_2_4W_HW_SPI : public U8G2 {
  8799. public: U8G2_UC1611_EA_DOGM240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8800. u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8801. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8802. }
  8803. };
  8804. #endif
  8805. class U8G2_UC1611_EA_DOGM240_2_3W_SW_SPI : public U8G2 {
  8806. public: U8G2_UC1611_EA_DOGM240_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8807. u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8808. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8809. }
  8810. };
  8811. class U8G2_UC1611_EA_DOGM240_2_6800 : public U8G2 {
  8812. public: U8G2_UC1611_EA_DOGM240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8813. u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8814. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8815. }
  8816. };
  8817. class U8G2_UC1611_EA_DOGM240_2_8080 : public U8G2 {
  8818. public: U8G2_UC1611_EA_DOGM240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8819. u8g2_Setup_uc1611_ea_dogm240_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8820. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8821. }
  8822. };
  8823. class U8G2_UC1611_EA_DOGM240_F_4W_SW_SPI : public U8G2 {
  8824. public: U8G2_UC1611_EA_DOGM240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8825. u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8826. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8827. }
  8828. };
  8829. #if defined U8G2_USE_HW_SPI
  8830. class U8G2_UC1611_EA_DOGM240_F_4W_HW_SPI : public U8G2 {
  8831. public: U8G2_UC1611_EA_DOGM240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8832. u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8833. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8834. }
  8835. };
  8836. #endif
  8837. class U8G2_UC1611_EA_DOGM240_F_3W_SW_SPI : public U8G2 {
  8838. public: U8G2_UC1611_EA_DOGM240_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8839. u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8840. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8841. }
  8842. };
  8843. class U8G2_UC1611_EA_DOGM240_F_6800 : public U8G2 {
  8844. public: U8G2_UC1611_EA_DOGM240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8845. u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8846. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8847. }
  8848. };
  8849. class U8G2_UC1611_EA_DOGM240_F_8080 : public U8G2 {
  8850. public: U8G2_UC1611_EA_DOGM240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8851. u8g2_Setup_uc1611_ea_dogm240_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8852. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8853. }
  8854. };
  8855. class U8G2_UC1611_EA_DOGM240_1_SW_I2C : public U8G2 {
  8856. public: U8G2_UC1611_EA_DOGM240_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8857. u8g2_Setup_uc1611_i2c_ea_dogm240_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8858. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8859. }
  8860. };
  8861. #if defined U8G2_USE_HW_I2C
  8862. class U8G2_UC1611_EA_DOGM240_1_HW_I2C : public U8G2 {
  8863. public: U8G2_UC1611_EA_DOGM240_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8864. u8g2_Setup_uc1611_i2c_ea_dogm240_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8865. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8866. }
  8867. };
  8868. #endif
  8869. class U8G2_UC1611_EA_DOGM240_2_SW_I2C : public U8G2 {
  8870. public: U8G2_UC1611_EA_DOGM240_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8871. u8g2_Setup_uc1611_i2c_ea_dogm240_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8872. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8873. }
  8874. };
  8875. #if defined U8G2_USE_HW_I2C
  8876. class U8G2_UC1611_EA_DOGM240_2_HW_I2C : public U8G2 {
  8877. public: U8G2_UC1611_EA_DOGM240_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8878. u8g2_Setup_uc1611_i2c_ea_dogm240_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8879. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8880. }
  8881. };
  8882. #endif
  8883. class U8G2_UC1611_EA_DOGM240_F_SW_I2C : public U8G2 {
  8884. public: U8G2_UC1611_EA_DOGM240_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8885. u8g2_Setup_uc1611_i2c_ea_dogm240_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8886. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8887. }
  8888. };
  8889. #if defined U8G2_USE_HW_I2C
  8890. class U8G2_UC1611_EA_DOGM240_F_HW_I2C : public U8G2 {
  8891. public: U8G2_UC1611_EA_DOGM240_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  8892. u8g2_Setup_uc1611_i2c_ea_dogm240_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  8893. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  8894. }
  8895. };
  8896. #endif
  8897. class U8G2_UC1611_EA_DOGXL240_1_4W_SW_SPI : public U8G2 {
  8898. public: U8G2_UC1611_EA_DOGXL240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8899. u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8900. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8901. }
  8902. };
  8903. #if defined U8G2_USE_HW_SPI
  8904. class U8G2_UC1611_EA_DOGXL240_1_4W_HW_SPI : public U8G2 {
  8905. public: U8G2_UC1611_EA_DOGXL240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8906. u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8907. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8908. }
  8909. };
  8910. #endif
  8911. class U8G2_UC1611_EA_DOGXL240_1_3W_SW_SPI : public U8G2 {
  8912. public: U8G2_UC1611_EA_DOGXL240_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8913. u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8914. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8915. }
  8916. };
  8917. class U8G2_UC1611_EA_DOGXL240_1_6800 : public U8G2 {
  8918. public: U8G2_UC1611_EA_DOGXL240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8919. u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8920. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8921. }
  8922. };
  8923. class U8G2_UC1611_EA_DOGXL240_1_8080 : public U8G2 {
  8924. public: U8G2_UC1611_EA_DOGXL240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8925. u8g2_Setup_uc1611_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8926. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8927. }
  8928. };
  8929. class U8G2_UC1611_EA_DOGXL240_2_4W_SW_SPI : public U8G2 {
  8930. public: U8G2_UC1611_EA_DOGXL240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8931. u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8932. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8933. }
  8934. };
  8935. #if defined U8G2_USE_HW_SPI
  8936. class U8G2_UC1611_EA_DOGXL240_2_4W_HW_SPI : public U8G2 {
  8937. public: U8G2_UC1611_EA_DOGXL240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8938. u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8939. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8940. }
  8941. };
  8942. #endif
  8943. class U8G2_UC1611_EA_DOGXL240_2_3W_SW_SPI : public U8G2 {
  8944. public: U8G2_UC1611_EA_DOGXL240_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8945. u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8946. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8947. }
  8948. };
  8949. class U8G2_UC1611_EA_DOGXL240_2_6800 : public U8G2 {
  8950. public: U8G2_UC1611_EA_DOGXL240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8951. u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8952. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8953. }
  8954. };
  8955. class U8G2_UC1611_EA_DOGXL240_2_8080 : public U8G2 {
  8956. public: U8G2_UC1611_EA_DOGXL240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8957. u8g2_Setup_uc1611_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8958. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8959. }
  8960. };
  8961. class U8G2_UC1611_EA_DOGXL240_F_4W_SW_SPI : public U8G2 {
  8962. public: U8G2_UC1611_EA_DOGXL240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8963. u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8964. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  8965. }
  8966. };
  8967. #if defined U8G2_USE_HW_SPI
  8968. class U8G2_UC1611_EA_DOGXL240_F_4W_HW_SPI : public U8G2 {
  8969. public: U8G2_UC1611_EA_DOGXL240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8970. u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  8971. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  8972. }
  8973. };
  8974. #endif
  8975. class U8G2_UC1611_EA_DOGXL240_F_3W_SW_SPI : public U8G2 {
  8976. public: U8G2_UC1611_EA_DOGXL240_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8977. u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  8978. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  8979. }
  8980. };
  8981. class U8G2_UC1611_EA_DOGXL240_F_6800 : public U8G2 {
  8982. public: U8G2_UC1611_EA_DOGXL240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8983. u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  8984. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8985. }
  8986. };
  8987. class U8G2_UC1611_EA_DOGXL240_F_8080 : public U8G2 {
  8988. public: U8G2_UC1611_EA_DOGXL240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8989. u8g2_Setup_uc1611_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  8990. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  8991. }
  8992. };
  8993. class U8G2_UC1611_EA_DOGXL240_1_SW_I2C : public U8G2 {
  8994. public: U8G2_UC1611_EA_DOGXL240_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  8995. u8g2_Setup_uc1611_i2c_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  8996. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  8997. }
  8998. };
  8999. #if defined U8G2_USE_HW_I2C
  9000. class U8G2_UC1611_EA_DOGXL240_1_HW_I2C : public U8G2 {
  9001. public: U8G2_UC1611_EA_DOGXL240_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9002. u8g2_Setup_uc1611_i2c_ea_dogxl240_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9003. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9004. }
  9005. };
  9006. #endif
  9007. class U8G2_UC1611_EA_DOGXL240_2_SW_I2C : public U8G2 {
  9008. public: U8G2_UC1611_EA_DOGXL240_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9009. u8g2_Setup_uc1611_i2c_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9010. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9011. }
  9012. };
  9013. #if defined U8G2_USE_HW_I2C
  9014. class U8G2_UC1611_EA_DOGXL240_2_HW_I2C : public U8G2 {
  9015. public: U8G2_UC1611_EA_DOGXL240_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9016. u8g2_Setup_uc1611_i2c_ea_dogxl240_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9017. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9018. }
  9019. };
  9020. #endif
  9021. class U8G2_UC1611_EA_DOGXL240_F_SW_I2C : public U8G2 {
  9022. public: U8G2_UC1611_EA_DOGXL240_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9023. u8g2_Setup_uc1611_i2c_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9024. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9025. }
  9026. };
  9027. #if defined U8G2_USE_HW_I2C
  9028. class U8G2_UC1611_EA_DOGXL240_F_HW_I2C : public U8G2 {
  9029. public: U8G2_UC1611_EA_DOGXL240_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9030. u8g2_Setup_uc1611_i2c_ea_dogxl240_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9031. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9032. }
  9033. };
  9034. #endif
  9035. class U8G2_UC1611_EW50850_1_4W_SW_SPI : public U8G2 {
  9036. public: U8G2_UC1611_EW50850_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9037. u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9038. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9039. }
  9040. };
  9041. #if defined U8G2_USE_HW_SPI
  9042. class U8G2_UC1611_EW50850_1_4W_HW_SPI : public U8G2 {
  9043. public: U8G2_UC1611_EW50850_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9044. u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9045. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9046. }
  9047. };
  9048. #endif
  9049. class U8G2_UC1611_EW50850_1_3W_SW_SPI : public U8G2 {
  9050. public: U8G2_UC1611_EW50850_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9051. u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9052. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9053. }
  9054. };
  9055. class U8G2_UC1611_EW50850_1_6800 : public U8G2 {
  9056. public: U8G2_UC1611_EW50850_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9057. u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9058. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9059. }
  9060. };
  9061. class U8G2_UC1611_EW50850_1_8080 : public U8G2 {
  9062. public: U8G2_UC1611_EW50850_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9063. u8g2_Setup_uc1611_ew50850_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9064. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9065. }
  9066. };
  9067. class U8G2_UC1611_EW50850_2_4W_SW_SPI : public U8G2 {
  9068. public: U8G2_UC1611_EW50850_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9069. u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9070. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9071. }
  9072. };
  9073. #if defined U8G2_USE_HW_SPI
  9074. class U8G2_UC1611_EW50850_2_4W_HW_SPI : public U8G2 {
  9075. public: U8G2_UC1611_EW50850_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9076. u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9077. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9078. }
  9079. };
  9080. #endif
  9081. class U8G2_UC1611_EW50850_2_3W_SW_SPI : public U8G2 {
  9082. public: U8G2_UC1611_EW50850_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9083. u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9084. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9085. }
  9086. };
  9087. class U8G2_UC1611_EW50850_2_6800 : public U8G2 {
  9088. public: U8G2_UC1611_EW50850_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9089. u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9090. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9091. }
  9092. };
  9093. class U8G2_UC1611_EW50850_2_8080 : public U8G2 {
  9094. public: U8G2_UC1611_EW50850_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9095. u8g2_Setup_uc1611_ew50850_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9096. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9097. }
  9098. };
  9099. class U8G2_UC1611_EW50850_F_4W_SW_SPI : public U8G2 {
  9100. public: U8G2_UC1611_EW50850_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9101. u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9102. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9103. }
  9104. };
  9105. #if defined U8G2_USE_HW_SPI
  9106. class U8G2_UC1611_EW50850_F_4W_HW_SPI : public U8G2 {
  9107. public: U8G2_UC1611_EW50850_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9108. u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9109. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9110. }
  9111. };
  9112. #endif
  9113. class U8G2_UC1611_EW50850_F_3W_SW_SPI : public U8G2 {
  9114. public: U8G2_UC1611_EW50850_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9115. u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9116. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9117. }
  9118. };
  9119. class U8G2_UC1611_EW50850_F_6800 : public U8G2 {
  9120. public: U8G2_UC1611_EW50850_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9121. u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9122. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9123. }
  9124. };
  9125. class U8G2_UC1611_EW50850_F_8080 : public U8G2 {
  9126. public: U8G2_UC1611_EW50850_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9127. u8g2_Setup_uc1611_ew50850_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9128. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9129. }
  9130. };
  9131. class U8G2_UC1611_EW50850_1_SW_I2C : public U8G2 {
  9132. public: U8G2_UC1611_EW50850_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9133. u8g2_Setup_uc1611_i2c_ew50850_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9134. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9135. }
  9136. };
  9137. #if defined U8G2_USE_HW_I2C
  9138. class U8G2_UC1611_EW50850_1_HW_I2C : public U8G2 {
  9139. public: U8G2_UC1611_EW50850_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9140. u8g2_Setup_uc1611_i2c_ew50850_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9141. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9142. }
  9143. };
  9144. #endif
  9145. class U8G2_UC1611_EW50850_2_SW_I2C : public U8G2 {
  9146. public: U8G2_UC1611_EW50850_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9147. u8g2_Setup_uc1611_i2c_ew50850_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9148. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9149. }
  9150. };
  9151. #if defined U8G2_USE_HW_I2C
  9152. class U8G2_UC1611_EW50850_2_HW_I2C : public U8G2 {
  9153. public: U8G2_UC1611_EW50850_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9154. u8g2_Setup_uc1611_i2c_ew50850_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9155. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9156. }
  9157. };
  9158. #endif
  9159. class U8G2_UC1611_EW50850_F_SW_I2C : public U8G2 {
  9160. public: U8G2_UC1611_EW50850_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9161. u8g2_Setup_uc1611_i2c_ew50850_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9162. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9163. }
  9164. };
  9165. #if defined U8G2_USE_HW_I2C
  9166. class U8G2_UC1611_EW50850_F_HW_I2C : public U8G2 {
  9167. public: U8G2_UC1611_EW50850_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9168. u8g2_Setup_uc1611_i2c_ew50850_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9169. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9170. }
  9171. };
  9172. #endif
  9173. class U8G2_UC1611_CG160160_1_4W_SW_SPI : public U8G2 {
  9174. public: U8G2_UC1611_CG160160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9175. u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9176. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9177. }
  9178. };
  9179. #if defined U8G2_USE_HW_SPI
  9180. class U8G2_UC1611_CG160160_1_4W_HW_SPI : public U8G2 {
  9181. public: U8G2_UC1611_CG160160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9182. u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9183. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9184. }
  9185. };
  9186. #endif
  9187. class U8G2_UC1611_CG160160_1_3W_SW_SPI : public U8G2 {
  9188. public: U8G2_UC1611_CG160160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9189. u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9190. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9191. }
  9192. };
  9193. class U8G2_UC1611_CG160160_1_6800 : public U8G2 {
  9194. public: U8G2_UC1611_CG160160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9195. u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9196. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9197. }
  9198. };
  9199. class U8G2_UC1611_CG160160_1_8080 : public U8G2 {
  9200. public: U8G2_UC1611_CG160160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9201. u8g2_Setup_uc1611_cg160160_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9202. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9203. }
  9204. };
  9205. class U8G2_UC1611_CG160160_2_4W_SW_SPI : public U8G2 {
  9206. public: U8G2_UC1611_CG160160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9207. u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9208. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9209. }
  9210. };
  9211. #if defined U8G2_USE_HW_SPI
  9212. class U8G2_UC1611_CG160160_2_4W_HW_SPI : public U8G2 {
  9213. public: U8G2_UC1611_CG160160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9214. u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9215. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9216. }
  9217. };
  9218. #endif
  9219. class U8G2_UC1611_CG160160_2_3W_SW_SPI : public U8G2 {
  9220. public: U8G2_UC1611_CG160160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9221. u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9222. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9223. }
  9224. };
  9225. class U8G2_UC1611_CG160160_2_6800 : public U8G2 {
  9226. public: U8G2_UC1611_CG160160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9227. u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9228. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9229. }
  9230. };
  9231. class U8G2_UC1611_CG160160_2_8080 : public U8G2 {
  9232. public: U8G2_UC1611_CG160160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9233. u8g2_Setup_uc1611_cg160160_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9234. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9235. }
  9236. };
  9237. class U8G2_UC1611_CG160160_F_4W_SW_SPI : public U8G2 {
  9238. public: U8G2_UC1611_CG160160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9239. u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9240. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9241. }
  9242. };
  9243. #if defined U8G2_USE_HW_SPI
  9244. class U8G2_UC1611_CG160160_F_4W_HW_SPI : public U8G2 {
  9245. public: U8G2_UC1611_CG160160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9246. u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9247. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9248. }
  9249. };
  9250. #endif
  9251. class U8G2_UC1611_CG160160_F_3W_SW_SPI : public U8G2 {
  9252. public: U8G2_UC1611_CG160160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9253. u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9254. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9255. }
  9256. };
  9257. class U8G2_UC1611_CG160160_F_6800 : public U8G2 {
  9258. public: U8G2_UC1611_CG160160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9259. u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9260. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9261. }
  9262. };
  9263. class U8G2_UC1611_CG160160_F_8080 : public U8G2 {
  9264. public: U8G2_UC1611_CG160160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9265. u8g2_Setup_uc1611_cg160160_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9266. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9267. }
  9268. };
  9269. class U8G2_UC1611_CG160160_1_SW_I2C : public U8G2 {
  9270. public: U8G2_UC1611_CG160160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9271. u8g2_Setup_uc1611_i2c_cg160160_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9272. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9273. }
  9274. };
  9275. #if defined U8G2_USE_HW_I2C
  9276. class U8G2_UC1611_CG160160_1_HW_I2C : public U8G2 {
  9277. public: U8G2_UC1611_CG160160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9278. u8g2_Setup_uc1611_i2c_cg160160_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9279. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9280. }
  9281. };
  9282. #endif
  9283. class U8G2_UC1611_CG160160_2_SW_I2C : public U8G2 {
  9284. public: U8G2_UC1611_CG160160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9285. u8g2_Setup_uc1611_i2c_cg160160_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9286. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9287. }
  9288. };
  9289. #if defined U8G2_USE_HW_I2C
  9290. class U8G2_UC1611_CG160160_2_HW_I2C : public U8G2 {
  9291. public: U8G2_UC1611_CG160160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9292. u8g2_Setup_uc1611_i2c_cg160160_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9293. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9294. }
  9295. };
  9296. #endif
  9297. class U8G2_UC1611_CG160160_F_SW_I2C : public U8G2 {
  9298. public: U8G2_UC1611_CG160160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9299. u8g2_Setup_uc1611_i2c_cg160160_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9300. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9301. }
  9302. };
  9303. #if defined U8G2_USE_HW_I2C
  9304. class U8G2_UC1611_CG160160_F_HW_I2C : public U8G2 {
  9305. public: U8G2_UC1611_CG160160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9306. u8g2_Setup_uc1611_i2c_cg160160_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9307. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9308. }
  9309. };
  9310. #endif
  9311. class U8G2_UC1611_IDS4073_1_4W_SW_SPI : public U8G2 {
  9312. public: U8G2_UC1611_IDS4073_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9313. u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9314. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9315. }
  9316. };
  9317. #if defined U8G2_USE_HW_SPI
  9318. class U8G2_UC1611_IDS4073_1_4W_HW_SPI : public U8G2 {
  9319. public: U8G2_UC1611_IDS4073_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9320. u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9321. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9322. }
  9323. };
  9324. #endif
  9325. class U8G2_UC1611_IDS4073_1_3W_SW_SPI : public U8G2 {
  9326. public: U8G2_UC1611_IDS4073_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9327. u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9328. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9329. }
  9330. };
  9331. class U8G2_UC1611_IDS4073_1_6800 : public U8G2 {
  9332. public: U8G2_UC1611_IDS4073_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9333. u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9334. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9335. }
  9336. };
  9337. class U8G2_UC1611_IDS4073_1_8080 : public U8G2 {
  9338. public: U8G2_UC1611_IDS4073_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9339. u8g2_Setup_uc1611_ids4073_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9340. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9341. }
  9342. };
  9343. class U8G2_UC1611_IDS4073_2_4W_SW_SPI : public U8G2 {
  9344. public: U8G2_UC1611_IDS4073_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9345. u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9346. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9347. }
  9348. };
  9349. #if defined U8G2_USE_HW_SPI
  9350. class U8G2_UC1611_IDS4073_2_4W_HW_SPI : public U8G2 {
  9351. public: U8G2_UC1611_IDS4073_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9352. u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9353. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9354. }
  9355. };
  9356. #endif
  9357. class U8G2_UC1611_IDS4073_2_3W_SW_SPI : public U8G2 {
  9358. public: U8G2_UC1611_IDS4073_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9359. u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9360. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9361. }
  9362. };
  9363. class U8G2_UC1611_IDS4073_2_6800 : public U8G2 {
  9364. public: U8G2_UC1611_IDS4073_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9365. u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9366. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9367. }
  9368. };
  9369. class U8G2_UC1611_IDS4073_2_8080 : public U8G2 {
  9370. public: U8G2_UC1611_IDS4073_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9371. u8g2_Setup_uc1611_ids4073_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9372. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9373. }
  9374. };
  9375. class U8G2_UC1611_IDS4073_F_4W_SW_SPI : public U8G2 {
  9376. public: U8G2_UC1611_IDS4073_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9377. u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9378. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9379. }
  9380. };
  9381. #if defined U8G2_USE_HW_SPI
  9382. class U8G2_UC1611_IDS4073_F_4W_HW_SPI : public U8G2 {
  9383. public: U8G2_UC1611_IDS4073_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9384. u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9385. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9386. }
  9387. };
  9388. #endif
  9389. class U8G2_UC1611_IDS4073_F_3W_SW_SPI : public U8G2 {
  9390. public: U8G2_UC1611_IDS4073_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9391. u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9392. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9393. }
  9394. };
  9395. class U8G2_UC1611_IDS4073_F_6800 : public U8G2 {
  9396. public: U8G2_UC1611_IDS4073_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9397. u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9398. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9399. }
  9400. };
  9401. class U8G2_UC1611_IDS4073_F_8080 : public U8G2 {
  9402. public: U8G2_UC1611_IDS4073_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9403. u8g2_Setup_uc1611_ids4073_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9404. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9405. }
  9406. };
  9407. class U8G2_UC1611_IDS4073_1_SW_I2C : public U8G2 {
  9408. public: U8G2_UC1611_IDS4073_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9409. u8g2_Setup_uc1611_i2c_ids4073_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9410. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9411. }
  9412. };
  9413. #if defined U8G2_USE_HW_I2C
  9414. class U8G2_UC1611_IDS4073_1_HW_I2C : public U8G2 {
  9415. public: U8G2_UC1611_IDS4073_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9416. u8g2_Setup_uc1611_i2c_ids4073_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9417. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9418. }
  9419. };
  9420. #endif
  9421. class U8G2_UC1611_IDS4073_2_SW_I2C : public U8G2 {
  9422. public: U8G2_UC1611_IDS4073_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9423. u8g2_Setup_uc1611_i2c_ids4073_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9424. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9425. }
  9426. };
  9427. #if defined U8G2_USE_HW_I2C
  9428. class U8G2_UC1611_IDS4073_2_HW_I2C : public U8G2 {
  9429. public: U8G2_UC1611_IDS4073_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9430. u8g2_Setup_uc1611_i2c_ids4073_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9431. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9432. }
  9433. };
  9434. #endif
  9435. class U8G2_UC1611_IDS4073_F_SW_I2C : public U8G2 {
  9436. public: U8G2_UC1611_IDS4073_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9437. u8g2_Setup_uc1611_i2c_ids4073_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9438. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9439. }
  9440. };
  9441. #if defined U8G2_USE_HW_I2C
  9442. class U8G2_UC1611_IDS4073_F_HW_I2C : public U8G2 {
  9443. public: U8G2_UC1611_IDS4073_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9444. u8g2_Setup_uc1611_i2c_ids4073_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9445. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9446. }
  9447. };
  9448. #endif
  9449. class U8G2_ST7511_AVD_320X240_1_4W_SW_SPI : public U8G2 {
  9450. public: U8G2_ST7511_AVD_320X240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9451. u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9452. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9453. }
  9454. };
  9455. #if defined U8G2_USE_HW_SPI
  9456. class U8G2_ST7511_AVD_320X240_1_4W_HW_SPI : public U8G2 {
  9457. public: U8G2_ST7511_AVD_320X240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9458. u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9459. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9460. }
  9461. };
  9462. #endif
  9463. class U8G2_ST7511_AVD_320X240_1_3W_SW_SPI : public U8G2 {
  9464. public: U8G2_ST7511_AVD_320X240_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9465. u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9466. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9467. }
  9468. };
  9469. class U8G2_ST7511_AVD_320X240_1_6800 : public U8G2 {
  9470. public: U8G2_ST7511_AVD_320X240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9471. u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9472. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9473. }
  9474. };
  9475. class U8G2_ST7511_AVD_320X240_1_8080 : public U8G2 {
  9476. public: U8G2_ST7511_AVD_320X240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9477. u8g2_Setup_st7511_avd_320x240_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9478. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9479. }
  9480. };
  9481. class U8G2_ST7511_AVD_320X240_2_4W_SW_SPI : public U8G2 {
  9482. public: U8G2_ST7511_AVD_320X240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9483. u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9484. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9485. }
  9486. };
  9487. #if defined U8G2_USE_HW_SPI
  9488. class U8G2_ST7511_AVD_320X240_2_4W_HW_SPI : public U8G2 {
  9489. public: U8G2_ST7511_AVD_320X240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9490. u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9491. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9492. }
  9493. };
  9494. #endif
  9495. class U8G2_ST7511_AVD_320X240_2_3W_SW_SPI : public U8G2 {
  9496. public: U8G2_ST7511_AVD_320X240_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9497. u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9498. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9499. }
  9500. };
  9501. class U8G2_ST7511_AVD_320X240_2_6800 : public U8G2 {
  9502. public: U8G2_ST7511_AVD_320X240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9503. u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9504. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9505. }
  9506. };
  9507. class U8G2_ST7511_AVD_320X240_2_8080 : public U8G2 {
  9508. public: U8G2_ST7511_AVD_320X240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9509. u8g2_Setup_st7511_avd_320x240_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9510. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9511. }
  9512. };
  9513. class U8G2_ST7511_AVD_320X240_F_4W_SW_SPI : public U8G2 {
  9514. public: U8G2_ST7511_AVD_320X240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9515. u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9516. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9517. }
  9518. };
  9519. #if defined U8G2_USE_HW_SPI
  9520. class U8G2_ST7511_AVD_320X240_F_4W_HW_SPI : public U8G2 {
  9521. public: U8G2_ST7511_AVD_320X240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9522. u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9523. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9524. }
  9525. };
  9526. #endif
  9527. class U8G2_ST7511_AVD_320X240_F_3W_SW_SPI : public U8G2 {
  9528. public: U8G2_ST7511_AVD_320X240_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9529. u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9530. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9531. }
  9532. };
  9533. class U8G2_ST7511_AVD_320X240_F_6800 : public U8G2 {
  9534. public: U8G2_ST7511_AVD_320X240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9535. u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9536. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9537. }
  9538. };
  9539. class U8G2_ST7511_AVD_320X240_F_8080 : public U8G2 {
  9540. public: U8G2_ST7511_AVD_320X240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9541. u8g2_Setup_st7511_avd_320x240_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9542. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9543. }
  9544. };
  9545. class U8G2_ST7528_NHD_C160100_1_4W_SW_SPI : public U8G2 {
  9546. public: U8G2_ST7528_NHD_C160100_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9547. u8g2_Setup_st7528_nhd_c160100_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9548. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9549. }
  9550. };
  9551. #if defined U8G2_USE_HW_SPI
  9552. class U8G2_ST7528_NHD_C160100_1_4W_HW_SPI : public U8G2 {
  9553. public: U8G2_ST7528_NHD_C160100_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9554. u8g2_Setup_st7528_nhd_c160100_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9555. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9556. }
  9557. };
  9558. #endif
  9559. class U8G2_ST7528_NHD_C160100_1_6800 : public U8G2 {
  9560. public: U8G2_ST7528_NHD_C160100_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9561. u8g2_Setup_st7528_nhd_c160100_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9562. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9563. }
  9564. };
  9565. class U8G2_ST7528_NHD_C160100_1_8080 : public U8G2 {
  9566. public: U8G2_ST7528_NHD_C160100_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9567. u8g2_Setup_st7528_nhd_c160100_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9568. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9569. }
  9570. };
  9571. class U8G2_ST7528_NHD_C160100_2_4W_SW_SPI : public U8G2 {
  9572. public: U8G2_ST7528_NHD_C160100_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9573. u8g2_Setup_st7528_nhd_c160100_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9574. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9575. }
  9576. };
  9577. #if defined U8G2_USE_HW_SPI
  9578. class U8G2_ST7528_NHD_C160100_2_4W_HW_SPI : public U8G2 {
  9579. public: U8G2_ST7528_NHD_C160100_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9580. u8g2_Setup_st7528_nhd_c160100_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9581. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9582. }
  9583. };
  9584. #endif
  9585. class U8G2_ST7528_NHD_C160100_2_6800 : public U8G2 {
  9586. public: U8G2_ST7528_NHD_C160100_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9587. u8g2_Setup_st7528_nhd_c160100_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9588. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9589. }
  9590. };
  9591. class U8G2_ST7528_NHD_C160100_2_8080 : public U8G2 {
  9592. public: U8G2_ST7528_NHD_C160100_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9593. u8g2_Setup_st7528_nhd_c160100_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9594. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9595. }
  9596. };
  9597. class U8G2_ST7528_NHD_C160100_F_4W_SW_SPI : public U8G2 {
  9598. public: U8G2_ST7528_NHD_C160100_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9599. u8g2_Setup_st7528_nhd_c160100_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9600. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9601. }
  9602. };
  9603. #if defined U8G2_USE_HW_SPI
  9604. class U8G2_ST7528_NHD_C160100_F_4W_HW_SPI : public U8G2 {
  9605. public: U8G2_ST7528_NHD_C160100_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9606. u8g2_Setup_st7528_nhd_c160100_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9607. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9608. }
  9609. };
  9610. #endif
  9611. class U8G2_ST7528_NHD_C160100_F_6800 : public U8G2 {
  9612. public: U8G2_ST7528_NHD_C160100_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9613. u8g2_Setup_st7528_nhd_c160100_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9614. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9615. }
  9616. };
  9617. class U8G2_ST7528_NHD_C160100_F_8080 : public U8G2 {
  9618. public: U8G2_ST7528_NHD_C160100_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9619. u8g2_Setup_st7528_nhd_c160100_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9620. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9621. }
  9622. };
  9623. class U8G2_ST7528_NHD_C160100_1_SW_I2C : public U8G2 {
  9624. public: U8G2_ST7528_NHD_C160100_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9625. u8g2_Setup_st7528_i2c_nhd_c160100_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9626. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9627. }
  9628. };
  9629. #if defined U8G2_USE_HW_I2C
  9630. class U8G2_ST7528_NHD_C160100_1_HW_I2C : public U8G2 {
  9631. public: U8G2_ST7528_NHD_C160100_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9632. u8g2_Setup_st7528_i2c_nhd_c160100_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9633. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9634. }
  9635. };
  9636. #endif
  9637. class U8G2_ST7528_NHD_C160100_2_SW_I2C : public U8G2 {
  9638. public: U8G2_ST7528_NHD_C160100_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9639. u8g2_Setup_st7528_i2c_nhd_c160100_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9640. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9641. }
  9642. };
  9643. #if defined U8G2_USE_HW_I2C
  9644. class U8G2_ST7528_NHD_C160100_2_HW_I2C : public U8G2 {
  9645. public: U8G2_ST7528_NHD_C160100_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9646. u8g2_Setup_st7528_i2c_nhd_c160100_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9647. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9648. }
  9649. };
  9650. #endif
  9651. class U8G2_ST7528_NHD_C160100_F_SW_I2C : public U8G2 {
  9652. public: U8G2_ST7528_NHD_C160100_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9653. u8g2_Setup_st7528_i2c_nhd_c160100_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9654. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9655. }
  9656. };
  9657. #if defined U8G2_USE_HW_I2C
  9658. class U8G2_ST7528_NHD_C160100_F_HW_I2C : public U8G2 {
  9659. public: U8G2_ST7528_NHD_C160100_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9660. u8g2_Setup_st7528_i2c_nhd_c160100_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9661. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9662. }
  9663. };
  9664. #endif
  9665. class U8G2_ST7528_ERC16064_1_4W_SW_SPI : public U8G2 {
  9666. public: U8G2_ST7528_ERC16064_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9667. u8g2_Setup_st7528_erc16064_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9668. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9669. }
  9670. };
  9671. #if defined U8G2_USE_HW_SPI
  9672. class U8G2_ST7528_ERC16064_1_4W_HW_SPI : public U8G2 {
  9673. public: U8G2_ST7528_ERC16064_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9674. u8g2_Setup_st7528_erc16064_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9675. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9676. }
  9677. };
  9678. #endif
  9679. class U8G2_ST7528_ERC16064_1_6800 : public U8G2 {
  9680. public: U8G2_ST7528_ERC16064_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9681. u8g2_Setup_st7528_erc16064_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9682. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9683. }
  9684. };
  9685. class U8G2_ST7528_ERC16064_1_8080 : public U8G2 {
  9686. public: U8G2_ST7528_ERC16064_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9687. u8g2_Setup_st7528_erc16064_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9688. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9689. }
  9690. };
  9691. class U8G2_ST7528_ERC16064_2_4W_SW_SPI : public U8G2 {
  9692. public: U8G2_ST7528_ERC16064_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9693. u8g2_Setup_st7528_erc16064_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9694. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9695. }
  9696. };
  9697. #if defined U8G2_USE_HW_SPI
  9698. class U8G2_ST7528_ERC16064_2_4W_HW_SPI : public U8G2 {
  9699. public: U8G2_ST7528_ERC16064_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9700. u8g2_Setup_st7528_erc16064_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9701. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9702. }
  9703. };
  9704. #endif
  9705. class U8G2_ST7528_ERC16064_2_6800 : public U8G2 {
  9706. public: U8G2_ST7528_ERC16064_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9707. u8g2_Setup_st7528_erc16064_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9708. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9709. }
  9710. };
  9711. class U8G2_ST7528_ERC16064_2_8080 : public U8G2 {
  9712. public: U8G2_ST7528_ERC16064_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9713. u8g2_Setup_st7528_erc16064_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9714. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9715. }
  9716. };
  9717. class U8G2_ST7528_ERC16064_F_4W_SW_SPI : public U8G2 {
  9718. public: U8G2_ST7528_ERC16064_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9719. u8g2_Setup_st7528_erc16064_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9720. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9721. }
  9722. };
  9723. #if defined U8G2_USE_HW_SPI
  9724. class U8G2_ST7528_ERC16064_F_4W_HW_SPI : public U8G2 {
  9725. public: U8G2_ST7528_ERC16064_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9726. u8g2_Setup_st7528_erc16064_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9727. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9728. }
  9729. };
  9730. #endif
  9731. class U8G2_ST7528_ERC16064_F_6800 : public U8G2 {
  9732. public: U8G2_ST7528_ERC16064_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9733. u8g2_Setup_st7528_erc16064_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9734. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9735. }
  9736. };
  9737. class U8G2_ST7528_ERC16064_F_8080 : public U8G2 {
  9738. public: U8G2_ST7528_ERC16064_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9739. u8g2_Setup_st7528_erc16064_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9740. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9741. }
  9742. };
  9743. class U8G2_ST7528_ERC16064_1_SW_I2C : public U8G2 {
  9744. public: U8G2_ST7528_ERC16064_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9745. u8g2_Setup_st7528_i2c_erc16064_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9746. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9747. }
  9748. };
  9749. #if defined U8G2_USE_HW_I2C
  9750. class U8G2_ST7528_ERC16064_1_HW_I2C : public U8G2 {
  9751. public: U8G2_ST7528_ERC16064_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9752. u8g2_Setup_st7528_i2c_erc16064_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9753. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9754. }
  9755. };
  9756. #endif
  9757. class U8G2_ST7528_ERC16064_2_SW_I2C : public U8G2 {
  9758. public: U8G2_ST7528_ERC16064_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9759. u8g2_Setup_st7528_i2c_erc16064_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9760. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9761. }
  9762. };
  9763. #if defined U8G2_USE_HW_I2C
  9764. class U8G2_ST7528_ERC16064_2_HW_I2C : public U8G2 {
  9765. public: U8G2_ST7528_ERC16064_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9766. u8g2_Setup_st7528_i2c_erc16064_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9767. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9768. }
  9769. };
  9770. #endif
  9771. class U8G2_ST7528_ERC16064_F_SW_I2C : public U8G2 {
  9772. public: U8G2_ST7528_ERC16064_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9773. u8g2_Setup_st7528_i2c_erc16064_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9774. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9775. }
  9776. };
  9777. #if defined U8G2_USE_HW_I2C
  9778. class U8G2_ST7528_ERC16064_F_HW_I2C : public U8G2 {
  9779. public: U8G2_ST7528_ERC16064_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9780. u8g2_Setup_st7528_i2c_erc16064_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9781. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9782. }
  9783. };
  9784. #endif
  9785. class U8G2_UC1617_JLX128128_1_4W_SW_SPI : public U8G2 {
  9786. public: U8G2_UC1617_JLX128128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9787. u8g2_Setup_uc1617_jlx128128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9788. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9789. }
  9790. };
  9791. #if defined U8G2_USE_HW_SPI
  9792. class U8G2_UC1617_JLX128128_1_4W_HW_SPI : public U8G2 {
  9793. public: U8G2_UC1617_JLX128128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9794. u8g2_Setup_uc1617_jlx128128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9795. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9796. }
  9797. };
  9798. #endif
  9799. class U8G2_UC1617_JLX128128_1_3W_SW_SPI : public U8G2 {
  9800. public: U8G2_UC1617_JLX128128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9801. u8g2_Setup_uc1617_jlx128128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9802. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9803. }
  9804. };
  9805. class U8G2_UC1617_JLX128128_2_4W_SW_SPI : public U8G2 {
  9806. public: U8G2_UC1617_JLX128128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9807. u8g2_Setup_uc1617_jlx128128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9808. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9809. }
  9810. };
  9811. #if defined U8G2_USE_HW_SPI
  9812. class U8G2_UC1617_JLX128128_2_4W_HW_SPI : public U8G2 {
  9813. public: U8G2_UC1617_JLX128128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9814. u8g2_Setup_uc1617_jlx128128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9815. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9816. }
  9817. };
  9818. #endif
  9819. class U8G2_UC1617_JLX128128_2_3W_SW_SPI : public U8G2 {
  9820. public: U8G2_UC1617_JLX128128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9821. u8g2_Setup_uc1617_jlx128128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9822. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9823. }
  9824. };
  9825. class U8G2_UC1617_JLX128128_F_4W_SW_SPI : public U8G2 {
  9826. public: U8G2_UC1617_JLX128128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9827. u8g2_Setup_uc1617_jlx128128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9828. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9829. }
  9830. };
  9831. #if defined U8G2_USE_HW_SPI
  9832. class U8G2_UC1617_JLX128128_F_4W_HW_SPI : public U8G2 {
  9833. public: U8G2_UC1617_JLX128128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9834. u8g2_Setup_uc1617_jlx128128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9835. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9836. }
  9837. };
  9838. #endif
  9839. class U8G2_UC1617_JLX128128_F_3W_SW_SPI : public U8G2 {
  9840. public: U8G2_UC1617_JLX128128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9841. u8g2_Setup_uc1617_jlx128128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9842. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9843. }
  9844. };
  9845. class U8G2_UC1617_JLX128128_1_SW_I2C : public U8G2 {
  9846. public: U8G2_UC1617_JLX128128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9847. u8g2_Setup_uc1617_i2c_jlx128128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9848. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9849. }
  9850. };
  9851. #if defined U8G2_USE_HW_I2C
  9852. class U8G2_UC1617_JLX128128_1_HW_I2C : public U8G2 {
  9853. public: U8G2_UC1617_JLX128128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9854. u8g2_Setup_uc1617_i2c_jlx128128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9855. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9856. }
  9857. };
  9858. #endif
  9859. class U8G2_UC1617_JLX128128_2_SW_I2C : public U8G2 {
  9860. public: U8G2_UC1617_JLX128128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9861. u8g2_Setup_uc1617_i2c_jlx128128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9862. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9863. }
  9864. };
  9865. #if defined U8G2_USE_HW_I2C
  9866. class U8G2_UC1617_JLX128128_2_HW_I2C : public U8G2 {
  9867. public: U8G2_UC1617_JLX128128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9868. u8g2_Setup_uc1617_i2c_jlx128128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9869. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9870. }
  9871. };
  9872. #endif
  9873. class U8G2_UC1617_JLX128128_F_SW_I2C : public U8G2 {
  9874. public: U8G2_UC1617_JLX128128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9875. u8g2_Setup_uc1617_i2c_jlx128128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  9876. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  9877. }
  9878. };
  9879. #if defined U8G2_USE_HW_I2C
  9880. class U8G2_UC1617_JLX128128_F_HW_I2C : public U8G2 {
  9881. public: U8G2_UC1617_JLX128128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  9882. u8g2_Setup_uc1617_i2c_jlx128128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  9883. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  9884. }
  9885. };
  9886. #endif
  9887. class U8G2_ST7565_EA_DOGM128_1_4W_SW_SPI : public U8G2 {
  9888. public: U8G2_ST7565_EA_DOGM128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9889. u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9890. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9891. }
  9892. };
  9893. #if defined U8G2_USE_HW_SPI
  9894. class U8G2_ST7565_EA_DOGM128_1_4W_HW_SPI : public U8G2 {
  9895. public: U8G2_ST7565_EA_DOGM128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9896. u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9897. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9898. }
  9899. };
  9900. #endif
  9901. class U8G2_ST7565_EA_DOGM128_1_3W_SW_SPI : public U8G2 {
  9902. public: U8G2_ST7565_EA_DOGM128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9903. u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9904. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9905. }
  9906. };
  9907. class U8G2_ST7565_EA_DOGM128_1_6800 : public U8G2 {
  9908. public: U8G2_ST7565_EA_DOGM128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9909. u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9910. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9911. }
  9912. };
  9913. class U8G2_ST7565_EA_DOGM128_1_8080 : public U8G2 {
  9914. public: U8G2_ST7565_EA_DOGM128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9915. u8g2_Setup_st7565_ea_dogm128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9916. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9917. }
  9918. };
  9919. class U8G2_ST7565_LM6063_1_4W_SW_SPI : public U8G2 {
  9920. public: U8G2_ST7565_LM6063_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9921. u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9922. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9923. }
  9924. };
  9925. #if defined U8G2_USE_HW_SPI
  9926. class U8G2_ST7565_LM6063_1_4W_HW_SPI : public U8G2 {
  9927. public: U8G2_ST7565_LM6063_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9928. u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9929. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9930. }
  9931. };
  9932. #endif
  9933. class U8G2_ST7565_LM6063_1_3W_SW_SPI : public U8G2 {
  9934. public: U8G2_ST7565_LM6063_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9935. u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9936. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9937. }
  9938. };
  9939. class U8G2_ST7565_LM6063_1_6800 : public U8G2 {
  9940. public: U8G2_ST7565_LM6063_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9941. u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9942. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9943. }
  9944. };
  9945. class U8G2_ST7565_LM6063_1_8080 : public U8G2 {
  9946. public: U8G2_ST7565_LM6063_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9947. u8g2_Setup_st7565_lm6063_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9948. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9949. }
  9950. };
  9951. class U8G2_ST7565_64128N_1_4W_SW_SPI : public U8G2 {
  9952. public: U8G2_ST7565_64128N_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9953. u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9954. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9955. }
  9956. };
  9957. #if defined U8G2_USE_HW_SPI
  9958. class U8G2_ST7565_64128N_1_4W_HW_SPI : public U8G2 {
  9959. public: U8G2_ST7565_64128N_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9960. u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9961. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9962. }
  9963. };
  9964. #endif
  9965. class U8G2_ST7565_64128N_1_3W_SW_SPI : public U8G2 {
  9966. public: U8G2_ST7565_64128N_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9967. u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9968. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  9969. }
  9970. };
  9971. class U8G2_ST7565_64128N_1_6800 : public U8G2 {
  9972. public: U8G2_ST7565_64128N_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9973. u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  9974. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9975. }
  9976. };
  9977. class U8G2_ST7565_64128N_1_8080 : public U8G2 {
  9978. public: U8G2_ST7565_64128N_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9979. u8g2_Setup_st7565_64128n_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  9980. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  9981. }
  9982. };
  9983. class U8G2_ST7565_ZOLEN_128X64_1_4W_SW_SPI : public U8G2 {
  9984. public: U8G2_ST7565_ZOLEN_128X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9985. u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  9986. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  9987. }
  9988. };
  9989. #if defined U8G2_USE_HW_SPI
  9990. class U8G2_ST7565_ZOLEN_128X64_1_4W_HW_SPI : public U8G2 {
  9991. public: U8G2_ST7565_ZOLEN_128X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9992. u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  9993. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  9994. }
  9995. };
  9996. #endif
  9997. class U8G2_ST7565_ZOLEN_128X64_1_3W_SW_SPI : public U8G2 {
  9998. public: U8G2_ST7565_ZOLEN_128X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  9999. u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10000. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10001. }
  10002. };
  10003. class U8G2_ST7565_ZOLEN_128X64_1_6800 : public U8G2 {
  10004. public: U8G2_ST7565_ZOLEN_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10005. u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10006. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10007. }
  10008. };
  10009. class U8G2_ST7565_ZOLEN_128X64_1_8080 : public U8G2 {
  10010. public: U8G2_ST7565_ZOLEN_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10011. u8g2_Setup_st7565_zolen_128x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10012. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10013. }
  10014. };
  10015. class U8G2_ST7565_LM6059_1_4W_SW_SPI : public U8G2 {
  10016. public: U8G2_ST7565_LM6059_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10017. u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10018. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10019. }
  10020. };
  10021. #if defined U8G2_USE_HW_SPI
  10022. class U8G2_ST7565_LM6059_1_4W_HW_SPI : public U8G2 {
  10023. public: U8G2_ST7565_LM6059_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10024. u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10025. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10026. }
  10027. };
  10028. #endif
  10029. class U8G2_ST7565_LM6059_1_3W_SW_SPI : public U8G2 {
  10030. public: U8G2_ST7565_LM6059_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10031. u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10032. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10033. }
  10034. };
  10035. class U8G2_ST7565_LM6059_1_6800 : public U8G2 {
  10036. public: U8G2_ST7565_LM6059_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10037. u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10038. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10039. }
  10040. };
  10041. class U8G2_ST7565_LM6059_1_8080 : public U8G2 {
  10042. public: U8G2_ST7565_LM6059_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10043. u8g2_Setup_st7565_lm6059_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10044. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10045. }
  10046. };
  10047. class U8G2_ST7565_KS0713_1_4W_SW_SPI : public U8G2 {
  10048. public: U8G2_ST7565_KS0713_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10049. u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10050. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10051. }
  10052. };
  10053. #if defined U8G2_USE_HW_SPI
  10054. class U8G2_ST7565_KS0713_1_4W_HW_SPI : public U8G2 {
  10055. public: U8G2_ST7565_KS0713_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10056. u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10057. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10058. }
  10059. };
  10060. #endif
  10061. class U8G2_ST7565_KS0713_1_3W_SW_SPI : public U8G2 {
  10062. public: U8G2_ST7565_KS0713_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10063. u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10064. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10065. }
  10066. };
  10067. class U8G2_ST7565_KS0713_1_6800 : public U8G2 {
  10068. public: U8G2_ST7565_KS0713_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10069. u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10070. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10071. }
  10072. };
  10073. class U8G2_ST7565_KS0713_1_8080 : public U8G2 {
  10074. public: U8G2_ST7565_KS0713_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10075. u8g2_Setup_st7565_ks0713_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10076. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10077. }
  10078. };
  10079. class U8G2_ST7565_LX12864_1_4W_SW_SPI : public U8G2 {
  10080. public: U8G2_ST7565_LX12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10081. u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10082. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10083. }
  10084. };
  10085. #if defined U8G2_USE_HW_SPI
  10086. class U8G2_ST7565_LX12864_1_4W_HW_SPI : public U8G2 {
  10087. public: U8G2_ST7565_LX12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10088. u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10089. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10090. }
  10091. };
  10092. #endif
  10093. class U8G2_ST7565_LX12864_1_3W_SW_SPI : public U8G2 {
  10094. public: U8G2_ST7565_LX12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10095. u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10096. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10097. }
  10098. };
  10099. class U8G2_ST7565_LX12864_1_6800 : public U8G2 {
  10100. public: U8G2_ST7565_LX12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10101. u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10102. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10103. }
  10104. };
  10105. class U8G2_ST7565_LX12864_1_8080 : public U8G2 {
  10106. public: U8G2_ST7565_LX12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10107. u8g2_Setup_st7565_lx12864_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10108. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10109. }
  10110. };
  10111. class U8G2_ST7565_ERC12864_1_4W_SW_SPI : public U8G2 {
  10112. public: U8G2_ST7565_ERC12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10113. u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10114. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10115. }
  10116. };
  10117. #if defined U8G2_USE_HW_SPI
  10118. class U8G2_ST7565_ERC12864_1_4W_HW_SPI : public U8G2 {
  10119. public: U8G2_ST7565_ERC12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10120. u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10121. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10122. }
  10123. };
  10124. #endif
  10125. class U8G2_ST7565_ERC12864_1_3W_SW_SPI : public U8G2 {
  10126. public: U8G2_ST7565_ERC12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10127. u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10128. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10129. }
  10130. };
  10131. class U8G2_ST7565_ERC12864_1_6800 : public U8G2 {
  10132. public: U8G2_ST7565_ERC12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10133. u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10134. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10135. }
  10136. };
  10137. class U8G2_ST7565_ERC12864_1_8080 : public U8G2 {
  10138. public: U8G2_ST7565_ERC12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10139. u8g2_Setup_st7565_erc12864_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10140. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10141. }
  10142. };
  10143. class U8G2_ST7565_ERC12864_ALT_1_4W_SW_SPI : public U8G2 {
  10144. public: U8G2_ST7565_ERC12864_ALT_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10145. u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10146. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10147. }
  10148. };
  10149. #if defined U8G2_USE_HW_SPI
  10150. class U8G2_ST7565_ERC12864_ALT_1_4W_HW_SPI : public U8G2 {
  10151. public: U8G2_ST7565_ERC12864_ALT_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10152. u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10153. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10154. }
  10155. };
  10156. #endif
  10157. class U8G2_ST7565_ERC12864_ALT_1_3W_SW_SPI : public U8G2 {
  10158. public: U8G2_ST7565_ERC12864_ALT_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10159. u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10160. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10161. }
  10162. };
  10163. class U8G2_ST7565_ERC12864_ALT_1_6800 : public U8G2 {
  10164. public: U8G2_ST7565_ERC12864_ALT_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10165. u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10166. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10167. }
  10168. };
  10169. class U8G2_ST7565_ERC12864_ALT_1_8080 : public U8G2 {
  10170. public: U8G2_ST7565_ERC12864_ALT_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10171. u8g2_Setup_st7565_erc12864_alt_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10172. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10173. }
  10174. };
  10175. class U8G2_ST7565_NHD_C12864_1_4W_SW_SPI : public U8G2 {
  10176. public: U8G2_ST7565_NHD_C12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10177. u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10178. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10179. }
  10180. };
  10181. #if defined U8G2_USE_HW_SPI
  10182. class U8G2_ST7565_NHD_C12864_1_4W_HW_SPI : public U8G2 {
  10183. public: U8G2_ST7565_NHD_C12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10184. u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10185. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10186. }
  10187. };
  10188. #endif
  10189. class U8G2_ST7565_NHD_C12864_1_3W_SW_SPI : public U8G2 {
  10190. public: U8G2_ST7565_NHD_C12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10191. u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10192. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10193. }
  10194. };
  10195. class U8G2_ST7565_NHD_C12864_1_6800 : public U8G2 {
  10196. public: U8G2_ST7565_NHD_C12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10197. u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10198. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10199. }
  10200. };
  10201. class U8G2_ST7565_NHD_C12864_1_8080 : public U8G2 {
  10202. public: U8G2_ST7565_NHD_C12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10203. u8g2_Setup_st7565_nhd_c12864_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10204. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10205. }
  10206. };
  10207. class U8G2_ST7565_JLX12864_1_4W_SW_SPI : public U8G2 {
  10208. public: U8G2_ST7565_JLX12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10209. u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10210. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10211. }
  10212. };
  10213. #if defined U8G2_USE_HW_SPI
  10214. class U8G2_ST7565_JLX12864_1_4W_HW_SPI : public U8G2 {
  10215. public: U8G2_ST7565_JLX12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10216. u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10217. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10218. }
  10219. };
  10220. #endif
  10221. class U8G2_ST7565_JLX12864_1_3W_SW_SPI : public U8G2 {
  10222. public: U8G2_ST7565_JLX12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10223. u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10224. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10225. }
  10226. };
  10227. class U8G2_ST7565_JLX12864_1_6800 : public U8G2 {
  10228. public: U8G2_ST7565_JLX12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10229. u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10230. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10231. }
  10232. };
  10233. class U8G2_ST7565_JLX12864_1_8080 : public U8G2 {
  10234. public: U8G2_ST7565_JLX12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10235. u8g2_Setup_st7565_jlx12864_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10236. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10237. }
  10238. };
  10239. class U8G2_ST7565_EA_DOGM128_2_4W_SW_SPI : public U8G2 {
  10240. public: U8G2_ST7565_EA_DOGM128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10241. u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10242. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10243. }
  10244. };
  10245. #if defined U8G2_USE_HW_SPI
  10246. class U8G2_ST7565_EA_DOGM128_2_4W_HW_SPI : public U8G2 {
  10247. public: U8G2_ST7565_EA_DOGM128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10248. u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10249. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10250. }
  10251. };
  10252. #endif
  10253. class U8G2_ST7565_EA_DOGM128_2_3W_SW_SPI : public U8G2 {
  10254. public: U8G2_ST7565_EA_DOGM128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10255. u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10256. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10257. }
  10258. };
  10259. class U8G2_ST7565_EA_DOGM128_2_6800 : public U8G2 {
  10260. public: U8G2_ST7565_EA_DOGM128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10261. u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10262. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10263. }
  10264. };
  10265. class U8G2_ST7565_EA_DOGM128_2_8080 : public U8G2 {
  10266. public: U8G2_ST7565_EA_DOGM128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10267. u8g2_Setup_st7565_ea_dogm128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10268. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10269. }
  10270. };
  10271. class U8G2_ST7565_LM6063_2_4W_SW_SPI : public U8G2 {
  10272. public: U8G2_ST7565_LM6063_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10273. u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10274. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10275. }
  10276. };
  10277. #if defined U8G2_USE_HW_SPI
  10278. class U8G2_ST7565_LM6063_2_4W_HW_SPI : public U8G2 {
  10279. public: U8G2_ST7565_LM6063_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10280. u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10281. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10282. }
  10283. };
  10284. #endif
  10285. class U8G2_ST7565_LM6063_2_3W_SW_SPI : public U8G2 {
  10286. public: U8G2_ST7565_LM6063_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10287. u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10288. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10289. }
  10290. };
  10291. class U8G2_ST7565_LM6063_2_6800 : public U8G2 {
  10292. public: U8G2_ST7565_LM6063_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10293. u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10294. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10295. }
  10296. };
  10297. class U8G2_ST7565_LM6063_2_8080 : public U8G2 {
  10298. public: U8G2_ST7565_LM6063_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10299. u8g2_Setup_st7565_lm6063_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10300. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10301. }
  10302. };
  10303. class U8G2_ST7565_64128N_2_4W_SW_SPI : public U8G2 {
  10304. public: U8G2_ST7565_64128N_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10305. u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10306. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10307. }
  10308. };
  10309. #if defined U8G2_USE_HW_SPI
  10310. class U8G2_ST7565_64128N_2_4W_HW_SPI : public U8G2 {
  10311. public: U8G2_ST7565_64128N_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10312. u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10313. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10314. }
  10315. };
  10316. #endif
  10317. class U8G2_ST7565_64128N_2_3W_SW_SPI : public U8G2 {
  10318. public: U8G2_ST7565_64128N_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10319. u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10320. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10321. }
  10322. };
  10323. class U8G2_ST7565_64128N_2_6800 : public U8G2 {
  10324. public: U8G2_ST7565_64128N_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10325. u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10326. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10327. }
  10328. };
  10329. class U8G2_ST7565_64128N_2_8080 : public U8G2 {
  10330. public: U8G2_ST7565_64128N_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10331. u8g2_Setup_st7565_64128n_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10332. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10333. }
  10334. };
  10335. class U8G2_ST7565_ZOLEN_128X64_2_4W_SW_SPI : public U8G2 {
  10336. public: U8G2_ST7565_ZOLEN_128X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10337. u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10338. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10339. }
  10340. };
  10341. #if defined U8G2_USE_HW_SPI
  10342. class U8G2_ST7565_ZOLEN_128X64_2_4W_HW_SPI : public U8G2 {
  10343. public: U8G2_ST7565_ZOLEN_128X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10344. u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10345. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10346. }
  10347. };
  10348. #endif
  10349. class U8G2_ST7565_ZOLEN_128X64_2_3W_SW_SPI : public U8G2 {
  10350. public: U8G2_ST7565_ZOLEN_128X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10351. u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10352. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10353. }
  10354. };
  10355. class U8G2_ST7565_ZOLEN_128X64_2_6800 : public U8G2 {
  10356. public: U8G2_ST7565_ZOLEN_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10357. u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10358. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10359. }
  10360. };
  10361. class U8G2_ST7565_ZOLEN_128X64_2_8080 : public U8G2 {
  10362. public: U8G2_ST7565_ZOLEN_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10363. u8g2_Setup_st7565_zolen_128x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10364. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10365. }
  10366. };
  10367. class U8G2_ST7565_LM6059_2_4W_SW_SPI : public U8G2 {
  10368. public: U8G2_ST7565_LM6059_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10369. u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10370. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10371. }
  10372. };
  10373. #if defined U8G2_USE_HW_SPI
  10374. class U8G2_ST7565_LM6059_2_4W_HW_SPI : public U8G2 {
  10375. public: U8G2_ST7565_LM6059_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10376. u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10377. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10378. }
  10379. };
  10380. #endif
  10381. class U8G2_ST7565_LM6059_2_3W_SW_SPI : public U8G2 {
  10382. public: U8G2_ST7565_LM6059_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10383. u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10384. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10385. }
  10386. };
  10387. class U8G2_ST7565_LM6059_2_6800 : public U8G2 {
  10388. public: U8G2_ST7565_LM6059_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10389. u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10390. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10391. }
  10392. };
  10393. class U8G2_ST7565_LM6059_2_8080 : public U8G2 {
  10394. public: U8G2_ST7565_LM6059_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10395. u8g2_Setup_st7565_lm6059_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10396. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10397. }
  10398. };
  10399. class U8G2_ST7565_KS0713_2_4W_SW_SPI : public U8G2 {
  10400. public: U8G2_ST7565_KS0713_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10401. u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10402. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10403. }
  10404. };
  10405. #if defined U8G2_USE_HW_SPI
  10406. class U8G2_ST7565_KS0713_2_4W_HW_SPI : public U8G2 {
  10407. public: U8G2_ST7565_KS0713_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10408. u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10409. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10410. }
  10411. };
  10412. #endif
  10413. class U8G2_ST7565_KS0713_2_3W_SW_SPI : public U8G2 {
  10414. public: U8G2_ST7565_KS0713_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10415. u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10416. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10417. }
  10418. };
  10419. class U8G2_ST7565_KS0713_2_6800 : public U8G2 {
  10420. public: U8G2_ST7565_KS0713_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10421. u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10422. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10423. }
  10424. };
  10425. class U8G2_ST7565_KS0713_2_8080 : public U8G2 {
  10426. public: U8G2_ST7565_KS0713_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10427. u8g2_Setup_st7565_ks0713_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10428. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10429. }
  10430. };
  10431. class U8G2_ST7565_LX12864_2_4W_SW_SPI : public U8G2 {
  10432. public: U8G2_ST7565_LX12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10433. u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10434. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10435. }
  10436. };
  10437. #if defined U8G2_USE_HW_SPI
  10438. class U8G2_ST7565_LX12864_2_4W_HW_SPI : public U8G2 {
  10439. public: U8G2_ST7565_LX12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10440. u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10441. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10442. }
  10443. };
  10444. #endif
  10445. class U8G2_ST7565_LX12864_2_3W_SW_SPI : public U8G2 {
  10446. public: U8G2_ST7565_LX12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10447. u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10448. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10449. }
  10450. };
  10451. class U8G2_ST7565_LX12864_2_6800 : public U8G2 {
  10452. public: U8G2_ST7565_LX12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10453. u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10454. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10455. }
  10456. };
  10457. class U8G2_ST7565_LX12864_2_8080 : public U8G2 {
  10458. public: U8G2_ST7565_LX12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10459. u8g2_Setup_st7565_lx12864_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10460. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10461. }
  10462. };
  10463. class U8G2_ST7565_ERC12864_2_4W_SW_SPI : public U8G2 {
  10464. public: U8G2_ST7565_ERC12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10465. u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10466. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10467. }
  10468. };
  10469. #if defined U8G2_USE_HW_SPI
  10470. class U8G2_ST7565_ERC12864_2_4W_HW_SPI : public U8G2 {
  10471. public: U8G2_ST7565_ERC12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10472. u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10473. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10474. }
  10475. };
  10476. #endif
  10477. class U8G2_ST7565_ERC12864_2_3W_SW_SPI : public U8G2 {
  10478. public: U8G2_ST7565_ERC12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10479. u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10480. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10481. }
  10482. };
  10483. class U8G2_ST7565_ERC12864_2_6800 : public U8G2 {
  10484. public: U8G2_ST7565_ERC12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10485. u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10486. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10487. }
  10488. };
  10489. class U8G2_ST7565_ERC12864_2_8080 : public U8G2 {
  10490. public: U8G2_ST7565_ERC12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10491. u8g2_Setup_st7565_erc12864_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10492. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10493. }
  10494. };
  10495. class U8G2_ST7565_ERC12864_ALT_2_4W_SW_SPI : public U8G2 {
  10496. public: U8G2_ST7565_ERC12864_ALT_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10497. u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10498. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10499. }
  10500. };
  10501. #if defined U8G2_USE_HW_SPI
  10502. class U8G2_ST7565_ERC12864_ALT_2_4W_HW_SPI : public U8G2 {
  10503. public: U8G2_ST7565_ERC12864_ALT_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10504. u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10505. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10506. }
  10507. };
  10508. #endif
  10509. class U8G2_ST7565_ERC12864_ALT_2_3W_SW_SPI : public U8G2 {
  10510. public: U8G2_ST7565_ERC12864_ALT_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10511. u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10512. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10513. }
  10514. };
  10515. class U8G2_ST7565_ERC12864_ALT_2_6800 : public U8G2 {
  10516. public: U8G2_ST7565_ERC12864_ALT_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10517. u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10518. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10519. }
  10520. };
  10521. class U8G2_ST7565_ERC12864_ALT_2_8080 : public U8G2 {
  10522. public: U8G2_ST7565_ERC12864_ALT_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10523. u8g2_Setup_st7565_erc12864_alt_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10524. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10525. }
  10526. };
  10527. class U8G2_ST7565_NHD_C12864_2_4W_SW_SPI : public U8G2 {
  10528. public: U8G2_ST7565_NHD_C12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10529. u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10530. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10531. }
  10532. };
  10533. #if defined U8G2_USE_HW_SPI
  10534. class U8G2_ST7565_NHD_C12864_2_4W_HW_SPI : public U8G2 {
  10535. public: U8G2_ST7565_NHD_C12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10536. u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10537. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10538. }
  10539. };
  10540. #endif
  10541. class U8G2_ST7565_NHD_C12864_2_3W_SW_SPI : public U8G2 {
  10542. public: U8G2_ST7565_NHD_C12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10543. u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10544. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10545. }
  10546. };
  10547. class U8G2_ST7565_NHD_C12864_2_6800 : public U8G2 {
  10548. public: U8G2_ST7565_NHD_C12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10549. u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10550. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10551. }
  10552. };
  10553. class U8G2_ST7565_NHD_C12864_2_8080 : public U8G2 {
  10554. public: U8G2_ST7565_NHD_C12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10555. u8g2_Setup_st7565_nhd_c12864_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10556. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10557. }
  10558. };
  10559. class U8G2_ST7565_JLX12864_2_4W_SW_SPI : public U8G2 {
  10560. public: U8G2_ST7565_JLX12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10561. u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10562. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10563. }
  10564. };
  10565. #if defined U8G2_USE_HW_SPI
  10566. class U8G2_ST7565_JLX12864_2_4W_HW_SPI : public U8G2 {
  10567. public: U8G2_ST7565_JLX12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10568. u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10569. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10570. }
  10571. };
  10572. #endif
  10573. class U8G2_ST7565_JLX12864_2_3W_SW_SPI : public U8G2 {
  10574. public: U8G2_ST7565_JLX12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10575. u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10576. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10577. }
  10578. };
  10579. class U8G2_ST7565_JLX12864_2_6800 : public U8G2 {
  10580. public: U8G2_ST7565_JLX12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10581. u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10582. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10583. }
  10584. };
  10585. class U8G2_ST7565_JLX12864_2_8080 : public U8G2 {
  10586. public: U8G2_ST7565_JLX12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10587. u8g2_Setup_st7565_jlx12864_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10588. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10589. }
  10590. };
  10591. class U8G2_ST7565_EA_DOGM128_F_4W_SW_SPI : public U8G2 {
  10592. public: U8G2_ST7565_EA_DOGM128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10593. u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10594. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10595. }
  10596. };
  10597. #if defined U8G2_USE_HW_SPI
  10598. class U8G2_ST7565_EA_DOGM128_F_4W_HW_SPI : public U8G2 {
  10599. public: U8G2_ST7565_EA_DOGM128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10600. u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10601. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10602. }
  10603. };
  10604. #endif
  10605. class U8G2_ST7565_EA_DOGM128_F_3W_SW_SPI : public U8G2 {
  10606. public: U8G2_ST7565_EA_DOGM128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10607. u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10608. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10609. }
  10610. };
  10611. class U8G2_ST7565_EA_DOGM128_F_6800 : public U8G2 {
  10612. public: U8G2_ST7565_EA_DOGM128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10613. u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10614. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10615. }
  10616. };
  10617. class U8G2_ST7565_EA_DOGM128_F_8080 : public U8G2 {
  10618. public: U8G2_ST7565_EA_DOGM128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10619. u8g2_Setup_st7565_ea_dogm128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10620. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10621. }
  10622. };
  10623. class U8G2_ST7565_LM6063_F_4W_SW_SPI : public U8G2 {
  10624. public: U8G2_ST7565_LM6063_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10625. u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10626. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10627. }
  10628. };
  10629. #if defined U8G2_USE_HW_SPI
  10630. class U8G2_ST7565_LM6063_F_4W_HW_SPI : public U8G2 {
  10631. public: U8G2_ST7565_LM6063_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10632. u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10633. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10634. }
  10635. };
  10636. #endif
  10637. class U8G2_ST7565_LM6063_F_3W_SW_SPI : public U8G2 {
  10638. public: U8G2_ST7565_LM6063_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10639. u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10640. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10641. }
  10642. };
  10643. class U8G2_ST7565_LM6063_F_6800 : public U8G2 {
  10644. public: U8G2_ST7565_LM6063_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10645. u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10646. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10647. }
  10648. };
  10649. class U8G2_ST7565_LM6063_F_8080 : public U8G2 {
  10650. public: U8G2_ST7565_LM6063_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10651. u8g2_Setup_st7565_lm6063_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10652. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10653. }
  10654. };
  10655. class U8G2_ST7565_64128N_F_4W_SW_SPI : public U8G2 {
  10656. public: U8G2_ST7565_64128N_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10657. u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10658. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10659. }
  10660. };
  10661. #if defined U8G2_USE_HW_SPI
  10662. class U8G2_ST7565_64128N_F_4W_HW_SPI : public U8G2 {
  10663. public: U8G2_ST7565_64128N_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10664. u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10665. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10666. }
  10667. };
  10668. #endif
  10669. class U8G2_ST7565_64128N_F_3W_SW_SPI : public U8G2 {
  10670. public: U8G2_ST7565_64128N_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10671. u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10672. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10673. }
  10674. };
  10675. class U8G2_ST7565_64128N_F_6800 : public U8G2 {
  10676. public: U8G2_ST7565_64128N_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10677. u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10678. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10679. }
  10680. };
  10681. class U8G2_ST7565_64128N_F_8080 : public U8G2 {
  10682. public: U8G2_ST7565_64128N_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10683. u8g2_Setup_st7565_64128n_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10684. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10685. }
  10686. };
  10687. class U8G2_ST7565_ZOLEN_128X64_F_4W_SW_SPI : public U8G2 {
  10688. public: U8G2_ST7565_ZOLEN_128X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10689. u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10690. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10691. }
  10692. };
  10693. #if defined U8G2_USE_HW_SPI
  10694. class U8G2_ST7565_ZOLEN_128X64_F_4W_HW_SPI : public U8G2 {
  10695. public: U8G2_ST7565_ZOLEN_128X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10696. u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10697. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10698. }
  10699. };
  10700. #endif
  10701. class U8G2_ST7565_ZOLEN_128X64_F_3W_SW_SPI : public U8G2 {
  10702. public: U8G2_ST7565_ZOLEN_128X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10703. u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10704. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10705. }
  10706. };
  10707. class U8G2_ST7565_ZOLEN_128X64_F_6800 : public U8G2 {
  10708. public: U8G2_ST7565_ZOLEN_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10709. u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10710. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10711. }
  10712. };
  10713. class U8G2_ST7565_ZOLEN_128X64_F_8080 : public U8G2 {
  10714. public: U8G2_ST7565_ZOLEN_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10715. u8g2_Setup_st7565_zolen_128x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10716. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10717. }
  10718. };
  10719. class U8G2_ST7565_LM6059_F_4W_SW_SPI : public U8G2 {
  10720. public: U8G2_ST7565_LM6059_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10721. u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10722. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10723. }
  10724. };
  10725. #if defined U8G2_USE_HW_SPI
  10726. class U8G2_ST7565_LM6059_F_4W_HW_SPI : public U8G2 {
  10727. public: U8G2_ST7565_LM6059_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10728. u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10729. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10730. }
  10731. };
  10732. #endif
  10733. class U8G2_ST7565_LM6059_F_3W_SW_SPI : public U8G2 {
  10734. public: U8G2_ST7565_LM6059_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10735. u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10736. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10737. }
  10738. };
  10739. class U8G2_ST7565_LM6059_F_6800 : public U8G2 {
  10740. public: U8G2_ST7565_LM6059_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10741. u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10742. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10743. }
  10744. };
  10745. class U8G2_ST7565_LM6059_F_8080 : public U8G2 {
  10746. public: U8G2_ST7565_LM6059_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10747. u8g2_Setup_st7565_lm6059_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10748. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10749. }
  10750. };
  10751. class U8G2_ST7565_KS0713_F_4W_SW_SPI : public U8G2 {
  10752. public: U8G2_ST7565_KS0713_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10753. u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10754. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10755. }
  10756. };
  10757. #if defined U8G2_USE_HW_SPI
  10758. class U8G2_ST7565_KS0713_F_4W_HW_SPI : public U8G2 {
  10759. public: U8G2_ST7565_KS0713_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10760. u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10761. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10762. }
  10763. };
  10764. #endif
  10765. class U8G2_ST7565_KS0713_F_3W_SW_SPI : public U8G2 {
  10766. public: U8G2_ST7565_KS0713_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10767. u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10768. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10769. }
  10770. };
  10771. class U8G2_ST7565_KS0713_F_6800 : public U8G2 {
  10772. public: U8G2_ST7565_KS0713_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10773. u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10774. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10775. }
  10776. };
  10777. class U8G2_ST7565_KS0713_F_8080 : public U8G2 {
  10778. public: U8G2_ST7565_KS0713_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10779. u8g2_Setup_st7565_ks0713_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10780. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10781. }
  10782. };
  10783. class U8G2_ST7565_LX12864_F_4W_SW_SPI : public U8G2 {
  10784. public: U8G2_ST7565_LX12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10785. u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10786. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10787. }
  10788. };
  10789. #if defined U8G2_USE_HW_SPI
  10790. class U8G2_ST7565_LX12864_F_4W_HW_SPI : public U8G2 {
  10791. public: U8G2_ST7565_LX12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10792. u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10793. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10794. }
  10795. };
  10796. #endif
  10797. class U8G2_ST7565_LX12864_F_3W_SW_SPI : public U8G2 {
  10798. public: U8G2_ST7565_LX12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10799. u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10800. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10801. }
  10802. };
  10803. class U8G2_ST7565_LX12864_F_6800 : public U8G2 {
  10804. public: U8G2_ST7565_LX12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10805. u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10806. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10807. }
  10808. };
  10809. class U8G2_ST7565_LX12864_F_8080 : public U8G2 {
  10810. public: U8G2_ST7565_LX12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10811. u8g2_Setup_st7565_lx12864_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10812. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10813. }
  10814. };
  10815. class U8G2_ST7565_ERC12864_F_4W_SW_SPI : public U8G2 {
  10816. public: U8G2_ST7565_ERC12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10817. u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10818. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10819. }
  10820. };
  10821. #if defined U8G2_USE_HW_SPI
  10822. class U8G2_ST7565_ERC12864_F_4W_HW_SPI : public U8G2 {
  10823. public: U8G2_ST7565_ERC12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10824. u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10825. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10826. }
  10827. };
  10828. #endif
  10829. class U8G2_ST7565_ERC12864_F_3W_SW_SPI : public U8G2 {
  10830. public: U8G2_ST7565_ERC12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10831. u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10832. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10833. }
  10834. };
  10835. class U8G2_ST7565_ERC12864_F_6800 : public U8G2 {
  10836. public: U8G2_ST7565_ERC12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10837. u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10838. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10839. }
  10840. };
  10841. class U8G2_ST7565_ERC12864_F_8080 : public U8G2 {
  10842. public: U8G2_ST7565_ERC12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10843. u8g2_Setup_st7565_erc12864_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10844. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10845. }
  10846. };
  10847. class U8G2_ST7565_ERC12864_ALT_F_4W_SW_SPI : public U8G2 {
  10848. public: U8G2_ST7565_ERC12864_ALT_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10849. u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10850. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10851. }
  10852. };
  10853. #if defined U8G2_USE_HW_SPI
  10854. class U8G2_ST7565_ERC12864_ALT_F_4W_HW_SPI : public U8G2 {
  10855. public: U8G2_ST7565_ERC12864_ALT_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10856. u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10857. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10858. }
  10859. };
  10860. #endif
  10861. class U8G2_ST7565_ERC12864_ALT_F_3W_SW_SPI : public U8G2 {
  10862. public: U8G2_ST7565_ERC12864_ALT_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10863. u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10864. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10865. }
  10866. };
  10867. class U8G2_ST7565_ERC12864_ALT_F_6800 : public U8G2 {
  10868. public: U8G2_ST7565_ERC12864_ALT_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10869. u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10870. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10871. }
  10872. };
  10873. class U8G2_ST7565_ERC12864_ALT_F_8080 : public U8G2 {
  10874. public: U8G2_ST7565_ERC12864_ALT_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10875. u8g2_Setup_st7565_erc12864_alt_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10876. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10877. }
  10878. };
  10879. class U8G2_ST7565_NHD_C12864_F_4W_SW_SPI : public U8G2 {
  10880. public: U8G2_ST7565_NHD_C12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10881. u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10882. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10883. }
  10884. };
  10885. #if defined U8G2_USE_HW_SPI
  10886. class U8G2_ST7565_NHD_C12864_F_4W_HW_SPI : public U8G2 {
  10887. public: U8G2_ST7565_NHD_C12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10888. u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10889. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10890. }
  10891. };
  10892. #endif
  10893. class U8G2_ST7565_NHD_C12864_F_3W_SW_SPI : public U8G2 {
  10894. public: U8G2_ST7565_NHD_C12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10895. u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10896. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10897. }
  10898. };
  10899. class U8G2_ST7565_NHD_C12864_F_6800 : public U8G2 {
  10900. public: U8G2_ST7565_NHD_C12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10901. u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10902. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10903. }
  10904. };
  10905. class U8G2_ST7565_NHD_C12864_F_8080 : public U8G2 {
  10906. public: U8G2_ST7565_NHD_C12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10907. u8g2_Setup_st7565_nhd_c12864_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10908. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10909. }
  10910. };
  10911. class U8G2_ST7565_JLX12864_F_4W_SW_SPI : public U8G2 {
  10912. public: U8G2_ST7565_JLX12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10913. u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10914. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10915. }
  10916. };
  10917. #if defined U8G2_USE_HW_SPI
  10918. class U8G2_ST7565_JLX12864_F_4W_HW_SPI : public U8G2 {
  10919. public: U8G2_ST7565_JLX12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10920. u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10921. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10922. }
  10923. };
  10924. #endif
  10925. class U8G2_ST7565_JLX12864_F_3W_SW_SPI : public U8G2 {
  10926. public: U8G2_ST7565_JLX12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10927. u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10928. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10929. }
  10930. };
  10931. class U8G2_ST7565_JLX12864_F_6800 : public U8G2 {
  10932. public: U8G2_ST7565_JLX12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10933. u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10934. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10935. }
  10936. };
  10937. class U8G2_ST7565_JLX12864_F_8080 : public U8G2 {
  10938. public: U8G2_ST7565_JLX12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10939. u8g2_Setup_st7565_jlx12864_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10940. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10941. }
  10942. };
  10943. class U8G2_ST7565_NHD_C12832_1_4W_SW_SPI : public U8G2 {
  10944. public: U8G2_ST7565_NHD_C12832_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10945. u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10946. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10947. }
  10948. };
  10949. #if defined U8G2_USE_HW_SPI
  10950. class U8G2_ST7565_NHD_C12832_1_4W_HW_SPI : public U8G2 {
  10951. public: U8G2_ST7565_NHD_C12832_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10952. u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10953. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10954. }
  10955. };
  10956. #endif
  10957. class U8G2_ST7565_NHD_C12832_1_3W_SW_SPI : public U8G2 {
  10958. public: U8G2_ST7565_NHD_C12832_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10959. u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10960. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10961. }
  10962. };
  10963. class U8G2_ST7565_NHD_C12832_1_6800 : public U8G2 {
  10964. public: U8G2_ST7565_NHD_C12832_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10965. u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10966. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10967. }
  10968. };
  10969. class U8G2_ST7565_NHD_C12832_1_8080 : public U8G2 {
  10970. public: U8G2_ST7565_NHD_C12832_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10971. u8g2_Setup_st7565_nhd_c12832_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  10972. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10973. }
  10974. };
  10975. class U8G2_ST7565_NHD_C12832_2_4W_SW_SPI : public U8G2 {
  10976. public: U8G2_ST7565_NHD_C12832_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10977. u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10978. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  10979. }
  10980. };
  10981. #if defined U8G2_USE_HW_SPI
  10982. class U8G2_ST7565_NHD_C12832_2_4W_HW_SPI : public U8G2 {
  10983. public: U8G2_ST7565_NHD_C12832_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10984. u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  10985. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  10986. }
  10987. };
  10988. #endif
  10989. class U8G2_ST7565_NHD_C12832_2_3W_SW_SPI : public U8G2 {
  10990. public: U8G2_ST7565_NHD_C12832_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10991. u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  10992. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  10993. }
  10994. };
  10995. class U8G2_ST7565_NHD_C12832_2_6800 : public U8G2 {
  10996. public: U8G2_ST7565_NHD_C12832_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  10997. u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  10998. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  10999. }
  11000. };
  11001. class U8G2_ST7565_NHD_C12832_2_8080 : public U8G2 {
  11002. public: U8G2_ST7565_NHD_C12832_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11003. u8g2_Setup_st7565_nhd_c12832_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11004. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11005. }
  11006. };
  11007. class U8G2_ST7565_NHD_C12832_F_4W_SW_SPI : public U8G2 {
  11008. public: U8G2_ST7565_NHD_C12832_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11009. u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11010. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11011. }
  11012. };
  11013. #if defined U8G2_USE_HW_SPI
  11014. class U8G2_ST7565_NHD_C12832_F_4W_HW_SPI : public U8G2 {
  11015. public: U8G2_ST7565_NHD_C12832_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11016. u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11017. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11018. }
  11019. };
  11020. #endif
  11021. class U8G2_ST7565_NHD_C12832_F_3W_SW_SPI : public U8G2 {
  11022. public: U8G2_ST7565_NHD_C12832_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11023. u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11024. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  11025. }
  11026. };
  11027. class U8G2_ST7565_NHD_C12832_F_6800 : public U8G2 {
  11028. public: U8G2_ST7565_NHD_C12832_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11029. u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11030. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11031. }
  11032. };
  11033. class U8G2_ST7565_NHD_C12832_F_8080 : public U8G2 {
  11034. public: U8G2_ST7565_NHD_C12832_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11035. u8g2_Setup_st7565_nhd_c12832_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11036. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11037. }
  11038. };
  11039. class U8G2_UC1601_128X32_1_4W_SW_SPI : public U8G2 {
  11040. public: U8G2_UC1601_128X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11041. u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11042. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11043. }
  11044. };
  11045. #if defined U8G2_USE_HW_SPI
  11046. class U8G2_UC1601_128X32_1_4W_HW_SPI : public U8G2 {
  11047. public: U8G2_UC1601_128X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11048. u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11049. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11050. }
  11051. };
  11052. #endif
  11053. class U8G2_UC1601_128X32_1_3W_SW_SPI : public U8G2 {
  11054. public: U8G2_UC1601_128X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11055. u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11056. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  11057. }
  11058. };
  11059. class U8G2_UC1601_128X32_1_6800 : public U8G2 {
  11060. public: U8G2_UC1601_128X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11061. u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11062. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11063. }
  11064. };
  11065. class U8G2_UC1601_128X32_1_8080 : public U8G2 {
  11066. public: U8G2_UC1601_128X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11067. u8g2_Setup_uc1601_128x32_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11068. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11069. }
  11070. };
  11071. class U8G2_UC1601_128X32_2_4W_SW_SPI : public U8G2 {
  11072. public: U8G2_UC1601_128X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11073. u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11074. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11075. }
  11076. };
  11077. #if defined U8G2_USE_HW_SPI
  11078. class U8G2_UC1601_128X32_2_4W_HW_SPI : public U8G2 {
  11079. public: U8G2_UC1601_128X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11080. u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11081. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11082. }
  11083. };
  11084. #endif
  11085. class U8G2_UC1601_128X32_2_3W_SW_SPI : public U8G2 {
  11086. public: U8G2_UC1601_128X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11087. u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11088. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  11089. }
  11090. };
  11091. class U8G2_UC1601_128X32_2_6800 : public U8G2 {
  11092. public: U8G2_UC1601_128X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11093. u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11094. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11095. }
  11096. };
  11097. class U8G2_UC1601_128X32_2_8080 : public U8G2 {
  11098. public: U8G2_UC1601_128X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11099. u8g2_Setup_uc1601_128x32_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11100. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11101. }
  11102. };
  11103. class U8G2_UC1601_128X32_F_4W_SW_SPI : public U8G2 {
  11104. public: U8G2_UC1601_128X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11105. u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11106. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11107. }
  11108. };
  11109. #if defined U8G2_USE_HW_SPI
  11110. class U8G2_UC1601_128X32_F_4W_HW_SPI : public U8G2 {
  11111. public: U8G2_UC1601_128X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11112. u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11113. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11114. }
  11115. };
  11116. #endif
  11117. class U8G2_UC1601_128X32_F_3W_SW_SPI : public U8G2 {
  11118. public: U8G2_UC1601_128X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11119. u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11120. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  11121. }
  11122. };
  11123. class U8G2_UC1601_128X32_F_6800 : public U8G2 {
  11124. public: U8G2_UC1601_128X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11125. u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11126. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11127. }
  11128. };
  11129. class U8G2_UC1601_128X32_F_8080 : public U8G2 {
  11130. public: U8G2_UC1601_128X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11131. u8g2_Setup_uc1601_128x32_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11132. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11133. }
  11134. };
  11135. class U8G2_UC1601_128X32_1_SW_I2C : public U8G2 {
  11136. public: U8G2_UC1601_128X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11137. u8g2_Setup_uc1601_i2c_128x32_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  11138. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  11139. }
  11140. };
  11141. #if defined U8G2_USE_HW_I2C
  11142. class U8G2_UC1601_128X32_1_HW_I2C : public U8G2 {
  11143. public: U8G2_UC1601_128X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  11144. u8g2_Setup_uc1601_i2c_128x32_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  11145. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  11146. }
  11147. };
  11148. #endif
  11149. class U8G2_UC1601_128X32_2_SW_I2C : public U8G2 {
  11150. public: U8G2_UC1601_128X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11151. u8g2_Setup_uc1601_i2c_128x32_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  11152. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  11153. }
  11154. };
  11155. #if defined U8G2_USE_HW_I2C
  11156. class U8G2_UC1601_128X32_2_HW_I2C : public U8G2 {
  11157. public: U8G2_UC1601_128X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  11158. u8g2_Setup_uc1601_i2c_128x32_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  11159. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  11160. }
  11161. };
  11162. #endif
  11163. class U8G2_UC1601_128X32_F_SW_I2C : public U8G2 {
  11164. public: U8G2_UC1601_128X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11165. u8g2_Setup_uc1601_i2c_128x32_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  11166. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  11167. }
  11168. };
  11169. #if defined U8G2_USE_HW_I2C
  11170. class U8G2_UC1601_128X32_F_HW_I2C : public U8G2 {
  11171. public: U8G2_UC1601_128X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  11172. u8g2_Setup_uc1601_i2c_128x32_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  11173. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  11174. }
  11175. };
  11176. #endif
  11177. class U8G2_UC1601_128X64_1_4W_SW_SPI : public U8G2 {
  11178. public: U8G2_UC1601_128X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11179. u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11180. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11181. }
  11182. };
  11183. #if defined U8G2_USE_HW_SPI
  11184. class U8G2_UC1601_128X64_1_4W_HW_SPI : public U8G2 {
  11185. public: U8G2_UC1601_128X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11186. u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11187. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11188. }
  11189. };
  11190. #endif
  11191. class U8G2_UC1601_128X64_1_3W_SW_SPI : public U8G2 {
  11192. public: U8G2_UC1601_128X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11193. u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11194. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  11195. }
  11196. };
  11197. class U8G2_UC1601_128X64_1_6800 : public U8G2 {
  11198. public: U8G2_UC1601_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11199. u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11200. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11201. }
  11202. };
  11203. class U8G2_UC1601_128X64_1_8080 : public U8G2 {
  11204. public: U8G2_UC1601_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11205. u8g2_Setup_uc1601_128x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11206. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11207. }
  11208. };
  11209. class U8G2_UC1601_128X64_2_4W_SW_SPI : public U8G2 {
  11210. public: U8G2_UC1601_128X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11211. u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11212. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11213. }
  11214. };
  11215. #if defined U8G2_USE_HW_SPI
  11216. class U8G2_UC1601_128X64_2_4W_HW_SPI : public U8G2 {
  11217. public: U8G2_UC1601_128X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11218. u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11219. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11220. }
  11221. };
  11222. #endif
  11223. class U8G2_UC1601_128X64_2_3W_SW_SPI : public U8G2 {
  11224. public: U8G2_UC1601_128X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11225. u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11226. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  11227. }
  11228. };
  11229. class U8G2_UC1601_128X64_2_6800 : public U8G2 {
  11230. public: U8G2_UC1601_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11231. u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11232. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11233. }
  11234. };
  11235. class U8G2_UC1601_128X64_2_8080 : public U8G2 {
  11236. public: U8G2_UC1601_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11237. u8g2_Setup_uc1601_128x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11238. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11239. }
  11240. };
  11241. class U8G2_UC1601_128X64_F_4W_SW_SPI : public U8G2 {
  11242. public: U8G2_UC1601_128X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11243. u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11244. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11245. }
  11246. };
  11247. #if defined U8G2_USE_HW_SPI
  11248. class U8G2_UC1601_128X64_F_4W_HW_SPI : public U8G2 {
  11249. public: U8G2_UC1601_128X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11250. u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11251. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11252. }
  11253. };
  11254. #endif
  11255. class U8G2_UC1601_128X64_F_3W_SW_SPI : public U8G2 {
  11256. public: U8G2_UC1601_128X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11257. u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11258. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  11259. }
  11260. };
  11261. class U8G2_UC1601_128X64_F_6800 : public U8G2 {
  11262. public: U8G2_UC1601_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11263. u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11264. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11265. }
  11266. };
  11267. class U8G2_UC1601_128X64_F_8080 : public U8G2 {
  11268. public: U8G2_UC1601_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11269. u8g2_Setup_uc1601_128x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11270. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11271. }
  11272. };
  11273. class U8G2_UC1601_128X64_1_SW_I2C : public U8G2 {
  11274. public: U8G2_UC1601_128X64_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11275. u8g2_Setup_uc1601_i2c_128x64_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  11276. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  11277. }
  11278. };
  11279. #if defined U8G2_USE_HW_I2C
  11280. class U8G2_UC1601_128X64_1_HW_I2C : public U8G2 {
  11281. public: U8G2_UC1601_128X64_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  11282. u8g2_Setup_uc1601_i2c_128x64_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  11283. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  11284. }
  11285. };
  11286. #endif
  11287. class U8G2_UC1601_128X64_2_SW_I2C : public U8G2 {
  11288. public: U8G2_UC1601_128X64_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11289. u8g2_Setup_uc1601_i2c_128x64_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  11290. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  11291. }
  11292. };
  11293. #if defined U8G2_USE_HW_I2C
  11294. class U8G2_UC1601_128X64_2_HW_I2C : public U8G2 {
  11295. public: U8G2_UC1601_128X64_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  11296. u8g2_Setup_uc1601_i2c_128x64_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  11297. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  11298. }
  11299. };
  11300. #endif
  11301. class U8G2_UC1601_128X64_F_SW_I2C : public U8G2 {
  11302. public: U8G2_UC1601_128X64_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11303. u8g2_Setup_uc1601_i2c_128x64_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  11304. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  11305. }
  11306. };
  11307. #if defined U8G2_USE_HW_I2C
  11308. class U8G2_UC1601_128X64_F_HW_I2C : public U8G2 {
  11309. public: U8G2_UC1601_128X64_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  11310. u8g2_Setup_uc1601_i2c_128x64_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  11311. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  11312. }
  11313. };
  11314. #endif
  11315. class U8G2_ST7565_EA_DOGM132_1_4W_SW_SPI : public U8G2 {
  11316. public: U8G2_ST7565_EA_DOGM132_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11317. u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11318. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11319. }
  11320. };
  11321. #if defined U8G2_USE_HW_SPI
  11322. class U8G2_ST7565_EA_DOGM132_1_4W_HW_SPI : public U8G2 {
  11323. public: U8G2_ST7565_EA_DOGM132_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11324. u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11325. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11326. }
  11327. };
  11328. #endif
  11329. class U8G2_ST7565_EA_DOGM132_1_3W_SW_SPI : public U8G2 {
  11330. public: U8G2_ST7565_EA_DOGM132_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11331. u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11332. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  11333. }
  11334. };
  11335. class U8G2_ST7565_EA_DOGM132_1_6800 : public U8G2 {
  11336. public: U8G2_ST7565_EA_DOGM132_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11337. u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11338. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11339. }
  11340. };
  11341. class U8G2_ST7565_EA_DOGM132_1_8080 : public U8G2 {
  11342. public: U8G2_ST7565_EA_DOGM132_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11343. u8g2_Setup_st7565_ea_dogm132_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11344. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11345. }
  11346. };
  11347. class U8G2_ST7565_EA_DOGM132_2_4W_SW_SPI : public U8G2 {
  11348. public: U8G2_ST7565_EA_DOGM132_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11349. u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11350. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11351. }
  11352. };
  11353. #if defined U8G2_USE_HW_SPI
  11354. class U8G2_ST7565_EA_DOGM132_2_4W_HW_SPI : public U8G2 {
  11355. public: U8G2_ST7565_EA_DOGM132_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11356. u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11357. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11358. }
  11359. };
  11360. #endif
  11361. class U8G2_ST7565_EA_DOGM132_2_3W_SW_SPI : public U8G2 {
  11362. public: U8G2_ST7565_EA_DOGM132_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11363. u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11364. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  11365. }
  11366. };
  11367. class U8G2_ST7565_EA_DOGM132_2_6800 : public U8G2 {
  11368. public: U8G2_ST7565_EA_DOGM132_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11369. u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11370. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11371. }
  11372. };
  11373. class U8G2_ST7565_EA_DOGM132_2_8080 : public U8G2 {
  11374. public: U8G2_ST7565_EA_DOGM132_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11375. u8g2_Setup_st7565_ea_dogm132_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11376. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11377. }
  11378. };
  11379. class U8G2_ST7565_EA_DOGM132_F_4W_SW_SPI : public U8G2 {
  11380. public: U8G2_ST7565_EA_DOGM132_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11381. u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11382. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11383. }
  11384. };
  11385. #if defined U8G2_USE_HW_SPI
  11386. class U8G2_ST7565_EA_DOGM132_F_4W_HW_SPI : public U8G2 {
  11387. public: U8G2_ST7565_EA_DOGM132_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11388. u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11389. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11390. }
  11391. };
  11392. #endif
  11393. class U8G2_ST7565_EA_DOGM132_F_3W_SW_SPI : public U8G2 {
  11394. public: U8G2_ST7565_EA_DOGM132_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11395. u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11396. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  11397. }
  11398. };
  11399. class U8G2_ST7565_EA_DOGM132_F_6800 : public U8G2 {
  11400. public: U8G2_ST7565_EA_DOGM132_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11401. u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11402. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11403. }
  11404. };
  11405. class U8G2_ST7565_EA_DOGM132_F_8080 : public U8G2 {
  11406. public: U8G2_ST7565_EA_DOGM132_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11407. u8g2_Setup_st7565_ea_dogm132_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11408. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11409. }
  11410. };
  11411. class U8G2_ST7567_PI_132X64_1_4W_SW_SPI : public U8G2 {
  11412. public: U8G2_ST7567_PI_132X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11413. u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11414. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11415. }
  11416. };
  11417. #if defined U8G2_USE_HW_SPI
  11418. class U8G2_ST7567_PI_132X64_1_4W_HW_SPI : public U8G2 {
  11419. public: U8G2_ST7567_PI_132X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11420. u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11421. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11422. }
  11423. };
  11424. #endif
  11425. class U8G2_ST7567_PI_132X64_1_6800 : public U8G2 {
  11426. public: U8G2_ST7567_PI_132X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11427. u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11428. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11429. }
  11430. };
  11431. class U8G2_ST7567_PI_132X64_1_8080 : public U8G2 {
  11432. public: U8G2_ST7567_PI_132X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11433. u8g2_Setup_st7567_pi_132x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11434. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11435. }
  11436. };
  11437. class U8G2_ST7567_PI_132X64_2_4W_SW_SPI : public U8G2 {
  11438. public: U8G2_ST7567_PI_132X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11439. u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11440. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11441. }
  11442. };
  11443. #if defined U8G2_USE_HW_SPI
  11444. class U8G2_ST7567_PI_132X64_2_4W_HW_SPI : public U8G2 {
  11445. public: U8G2_ST7567_PI_132X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11446. u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11447. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11448. }
  11449. };
  11450. #endif
  11451. class U8G2_ST7567_PI_132X64_2_6800 : public U8G2 {
  11452. public: U8G2_ST7567_PI_132X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11453. u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11454. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11455. }
  11456. };
  11457. class U8G2_ST7567_PI_132X64_2_8080 : public U8G2 {
  11458. public: U8G2_ST7567_PI_132X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11459. u8g2_Setup_st7567_pi_132x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11460. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11461. }
  11462. };
  11463. class U8G2_ST7567_PI_132X64_F_4W_SW_SPI : public U8G2 {
  11464. public: U8G2_ST7567_PI_132X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11465. u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11466. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11467. }
  11468. };
  11469. #if defined U8G2_USE_HW_SPI
  11470. class U8G2_ST7567_PI_132X64_F_4W_HW_SPI : public U8G2 {
  11471. public: U8G2_ST7567_PI_132X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11472. u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11473. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11474. }
  11475. };
  11476. #endif
  11477. class U8G2_ST7567_PI_132X64_F_6800 : public U8G2 {
  11478. public: U8G2_ST7567_PI_132X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11479. u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11480. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11481. }
  11482. };
  11483. class U8G2_ST7567_PI_132X64_F_8080 : public U8G2 {
  11484. public: U8G2_ST7567_PI_132X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11485. u8g2_Setup_st7567_pi_132x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11486. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11487. }
  11488. };
  11489. class U8G2_ST7567_JLX12864_1_4W_SW_SPI : public U8G2 {
  11490. public: U8G2_ST7567_JLX12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11491. u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11492. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11493. }
  11494. };
  11495. #if defined U8G2_USE_HW_SPI
  11496. class U8G2_ST7567_JLX12864_1_4W_HW_SPI : public U8G2 {
  11497. public: U8G2_ST7567_JLX12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11498. u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11499. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11500. }
  11501. };
  11502. #endif
  11503. class U8G2_ST7567_JLX12864_1_6800 : public U8G2 {
  11504. public: U8G2_ST7567_JLX12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11505. u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11506. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11507. }
  11508. };
  11509. class U8G2_ST7567_JLX12864_1_8080 : public U8G2 {
  11510. public: U8G2_ST7567_JLX12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11511. u8g2_Setup_st7567_jlx12864_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11512. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11513. }
  11514. };
  11515. class U8G2_ST7567_ENH_DG128064_1_4W_SW_SPI : public U8G2 {
  11516. public: U8G2_ST7567_ENH_DG128064_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11517. u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11518. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11519. }
  11520. };
  11521. #if defined U8G2_USE_HW_SPI
  11522. class U8G2_ST7567_ENH_DG128064_1_4W_HW_SPI : public U8G2 {
  11523. public: U8G2_ST7567_ENH_DG128064_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11524. u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11525. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11526. }
  11527. };
  11528. #endif
  11529. class U8G2_ST7567_ENH_DG128064_1_6800 : public U8G2 {
  11530. public: U8G2_ST7567_ENH_DG128064_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11531. u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11532. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11533. }
  11534. };
  11535. class U8G2_ST7567_ENH_DG128064_1_8080 : public U8G2 {
  11536. public: U8G2_ST7567_ENH_DG128064_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11537. u8g2_Setup_st7567_enh_dg128064_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11538. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11539. }
  11540. };
  11541. class U8G2_ST7567_ENH_DG128064I_1_4W_SW_SPI : public U8G2 {
  11542. public: U8G2_ST7567_ENH_DG128064I_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11543. u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11544. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11545. }
  11546. };
  11547. #if defined U8G2_USE_HW_SPI
  11548. class U8G2_ST7567_ENH_DG128064I_1_4W_HW_SPI : public U8G2 {
  11549. public: U8G2_ST7567_ENH_DG128064I_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11550. u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11551. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11552. }
  11553. };
  11554. #endif
  11555. class U8G2_ST7567_ENH_DG128064I_1_6800 : public U8G2 {
  11556. public: U8G2_ST7567_ENH_DG128064I_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11557. u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11558. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11559. }
  11560. };
  11561. class U8G2_ST7567_ENH_DG128064I_1_8080 : public U8G2 {
  11562. public: U8G2_ST7567_ENH_DG128064I_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11563. u8g2_Setup_st7567_enh_dg128064i_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11564. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11565. }
  11566. };
  11567. class U8G2_ST7567_OS12864_1_4W_SW_SPI : public U8G2 {
  11568. public: U8G2_ST7567_OS12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11569. u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11570. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11571. }
  11572. };
  11573. #if defined U8G2_USE_HW_SPI
  11574. class U8G2_ST7567_OS12864_1_4W_HW_SPI : public U8G2 {
  11575. public: U8G2_ST7567_OS12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11576. u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11577. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11578. }
  11579. };
  11580. #endif
  11581. class U8G2_ST7567_OS12864_1_6800 : public U8G2 {
  11582. public: U8G2_ST7567_OS12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11583. u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11584. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11585. }
  11586. };
  11587. class U8G2_ST7567_OS12864_1_8080 : public U8G2 {
  11588. public: U8G2_ST7567_OS12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11589. u8g2_Setup_st7567_os12864_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11590. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11591. }
  11592. };
  11593. class U8G2_ST7567_JLX12864_2_4W_SW_SPI : public U8G2 {
  11594. public: U8G2_ST7567_JLX12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11595. u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11596. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11597. }
  11598. };
  11599. #if defined U8G2_USE_HW_SPI
  11600. class U8G2_ST7567_JLX12864_2_4W_HW_SPI : public U8G2 {
  11601. public: U8G2_ST7567_JLX12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11602. u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11603. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11604. }
  11605. };
  11606. #endif
  11607. class U8G2_ST7567_JLX12864_2_6800 : public U8G2 {
  11608. public: U8G2_ST7567_JLX12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11609. u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11610. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11611. }
  11612. };
  11613. class U8G2_ST7567_JLX12864_2_8080 : public U8G2 {
  11614. public: U8G2_ST7567_JLX12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11615. u8g2_Setup_st7567_jlx12864_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11616. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11617. }
  11618. };
  11619. class U8G2_ST7567_ENH_DG128064_2_4W_SW_SPI : public U8G2 {
  11620. public: U8G2_ST7567_ENH_DG128064_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11621. u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11622. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11623. }
  11624. };
  11625. #if defined U8G2_USE_HW_SPI
  11626. class U8G2_ST7567_ENH_DG128064_2_4W_HW_SPI : public U8G2 {
  11627. public: U8G2_ST7567_ENH_DG128064_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11628. u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11629. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11630. }
  11631. };
  11632. #endif
  11633. class U8G2_ST7567_ENH_DG128064_2_6800 : public U8G2 {
  11634. public: U8G2_ST7567_ENH_DG128064_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11635. u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11636. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11637. }
  11638. };
  11639. class U8G2_ST7567_ENH_DG128064_2_8080 : public U8G2 {
  11640. public: U8G2_ST7567_ENH_DG128064_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11641. u8g2_Setup_st7567_enh_dg128064_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11642. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11643. }
  11644. };
  11645. class U8G2_ST7567_ENH_DG128064I_2_4W_SW_SPI : public U8G2 {
  11646. public: U8G2_ST7567_ENH_DG128064I_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11647. u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11648. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11649. }
  11650. };
  11651. #if defined U8G2_USE_HW_SPI
  11652. class U8G2_ST7567_ENH_DG128064I_2_4W_HW_SPI : public U8G2 {
  11653. public: U8G2_ST7567_ENH_DG128064I_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11654. u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11655. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11656. }
  11657. };
  11658. #endif
  11659. class U8G2_ST7567_ENH_DG128064I_2_6800 : public U8G2 {
  11660. public: U8G2_ST7567_ENH_DG128064I_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11661. u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11662. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11663. }
  11664. };
  11665. class U8G2_ST7567_ENH_DG128064I_2_8080 : public U8G2 {
  11666. public: U8G2_ST7567_ENH_DG128064I_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11667. u8g2_Setup_st7567_enh_dg128064i_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11668. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11669. }
  11670. };
  11671. class U8G2_ST7567_OS12864_2_4W_SW_SPI : public U8G2 {
  11672. public: U8G2_ST7567_OS12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11673. u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11674. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11675. }
  11676. };
  11677. #if defined U8G2_USE_HW_SPI
  11678. class U8G2_ST7567_OS12864_2_4W_HW_SPI : public U8G2 {
  11679. public: U8G2_ST7567_OS12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11680. u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11681. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11682. }
  11683. };
  11684. #endif
  11685. class U8G2_ST7567_OS12864_2_6800 : public U8G2 {
  11686. public: U8G2_ST7567_OS12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11687. u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11688. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11689. }
  11690. };
  11691. class U8G2_ST7567_OS12864_2_8080 : public U8G2 {
  11692. public: U8G2_ST7567_OS12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11693. u8g2_Setup_st7567_os12864_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11694. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11695. }
  11696. };
  11697. class U8G2_ST7567_JLX12864_F_4W_SW_SPI : public U8G2 {
  11698. public: U8G2_ST7567_JLX12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11699. u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11700. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11701. }
  11702. };
  11703. #if defined U8G2_USE_HW_SPI
  11704. class U8G2_ST7567_JLX12864_F_4W_HW_SPI : public U8G2 {
  11705. public: U8G2_ST7567_JLX12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11706. u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11707. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11708. }
  11709. };
  11710. #endif
  11711. class U8G2_ST7567_JLX12864_F_6800 : public U8G2 {
  11712. public: U8G2_ST7567_JLX12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11713. u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11714. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11715. }
  11716. };
  11717. class U8G2_ST7567_JLX12864_F_8080 : public U8G2 {
  11718. public: U8G2_ST7567_JLX12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11719. u8g2_Setup_st7567_jlx12864_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11720. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11721. }
  11722. };
  11723. class U8G2_ST7567_ENH_DG128064_F_4W_SW_SPI : public U8G2 {
  11724. public: U8G2_ST7567_ENH_DG128064_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11725. u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11726. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11727. }
  11728. };
  11729. #if defined U8G2_USE_HW_SPI
  11730. class U8G2_ST7567_ENH_DG128064_F_4W_HW_SPI : public U8G2 {
  11731. public: U8G2_ST7567_ENH_DG128064_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11732. u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11733. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11734. }
  11735. };
  11736. #endif
  11737. class U8G2_ST7567_ENH_DG128064_F_6800 : public U8G2 {
  11738. public: U8G2_ST7567_ENH_DG128064_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11739. u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11740. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11741. }
  11742. };
  11743. class U8G2_ST7567_ENH_DG128064_F_8080 : public U8G2 {
  11744. public: U8G2_ST7567_ENH_DG128064_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11745. u8g2_Setup_st7567_enh_dg128064_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11746. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11747. }
  11748. };
  11749. class U8G2_ST7567_ENH_DG128064I_F_4W_SW_SPI : public U8G2 {
  11750. public: U8G2_ST7567_ENH_DG128064I_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11751. u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11752. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11753. }
  11754. };
  11755. #if defined U8G2_USE_HW_SPI
  11756. class U8G2_ST7567_ENH_DG128064I_F_4W_HW_SPI : public U8G2 {
  11757. public: U8G2_ST7567_ENH_DG128064I_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11758. u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11759. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11760. }
  11761. };
  11762. #endif
  11763. class U8G2_ST7567_ENH_DG128064I_F_6800 : public U8G2 {
  11764. public: U8G2_ST7567_ENH_DG128064I_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11765. u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11766. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11767. }
  11768. };
  11769. class U8G2_ST7567_ENH_DG128064I_F_8080 : public U8G2 {
  11770. public: U8G2_ST7567_ENH_DG128064I_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11771. u8g2_Setup_st7567_enh_dg128064i_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11772. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11773. }
  11774. };
  11775. class U8G2_ST7567_OS12864_F_4W_SW_SPI : public U8G2 {
  11776. public: U8G2_ST7567_OS12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11777. u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11778. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11779. }
  11780. };
  11781. #if defined U8G2_USE_HW_SPI
  11782. class U8G2_ST7567_OS12864_F_4W_HW_SPI : public U8G2 {
  11783. public: U8G2_ST7567_OS12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11784. u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11785. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11786. }
  11787. };
  11788. #endif
  11789. class U8G2_ST7567_OS12864_F_6800 : public U8G2 {
  11790. public: U8G2_ST7567_OS12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11791. u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11792. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11793. }
  11794. };
  11795. class U8G2_ST7567_OS12864_F_8080 : public U8G2 {
  11796. public: U8G2_ST7567_OS12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11797. u8g2_Setup_st7567_os12864_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11798. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11799. }
  11800. };
  11801. class U8G2_ST7567_64X32_1_4W_SW_SPI : public U8G2 {
  11802. public: U8G2_ST7567_64X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11803. u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11804. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11805. }
  11806. };
  11807. #if defined U8G2_USE_HW_SPI
  11808. class U8G2_ST7567_64X32_1_4W_HW_SPI : public U8G2 {
  11809. public: U8G2_ST7567_64X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11810. u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11811. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11812. }
  11813. };
  11814. #endif
  11815. class U8G2_ST7567_64X32_1_6800 : public U8G2 {
  11816. public: U8G2_ST7567_64X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11817. u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11818. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11819. }
  11820. };
  11821. class U8G2_ST7567_64X32_1_8080 : public U8G2 {
  11822. public: U8G2_ST7567_64X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11823. u8g2_Setup_st7567_64x32_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11824. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11825. }
  11826. };
  11827. class U8G2_ST7567_HEM6432_1_4W_SW_SPI : public U8G2 {
  11828. public: U8G2_ST7567_HEM6432_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11829. u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11830. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11831. }
  11832. };
  11833. #if defined U8G2_USE_HW_SPI
  11834. class U8G2_ST7567_HEM6432_1_4W_HW_SPI : public U8G2 {
  11835. public: U8G2_ST7567_HEM6432_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11836. u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11837. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11838. }
  11839. };
  11840. #endif
  11841. class U8G2_ST7567_HEM6432_1_6800 : public U8G2 {
  11842. public: U8G2_ST7567_HEM6432_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11843. u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11844. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11845. }
  11846. };
  11847. class U8G2_ST7567_HEM6432_1_8080 : public U8G2 {
  11848. public: U8G2_ST7567_HEM6432_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11849. u8g2_Setup_st7567_hem6432_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11850. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11851. }
  11852. };
  11853. class U8G2_ST7567_64X32_2_4W_SW_SPI : public U8G2 {
  11854. public: U8G2_ST7567_64X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11855. u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11856. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11857. }
  11858. };
  11859. #if defined U8G2_USE_HW_SPI
  11860. class U8G2_ST7567_64X32_2_4W_HW_SPI : public U8G2 {
  11861. public: U8G2_ST7567_64X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11862. u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11863. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11864. }
  11865. };
  11866. #endif
  11867. class U8G2_ST7567_64X32_2_6800 : public U8G2 {
  11868. public: U8G2_ST7567_64X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11869. u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11870. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11871. }
  11872. };
  11873. class U8G2_ST7567_64X32_2_8080 : public U8G2 {
  11874. public: U8G2_ST7567_64X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11875. u8g2_Setup_st7567_64x32_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11876. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11877. }
  11878. };
  11879. class U8G2_ST7567_HEM6432_2_4W_SW_SPI : public U8G2 {
  11880. public: U8G2_ST7567_HEM6432_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11881. u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11882. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11883. }
  11884. };
  11885. #if defined U8G2_USE_HW_SPI
  11886. class U8G2_ST7567_HEM6432_2_4W_HW_SPI : public U8G2 {
  11887. public: U8G2_ST7567_HEM6432_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11888. u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11889. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11890. }
  11891. };
  11892. #endif
  11893. class U8G2_ST7567_HEM6432_2_6800 : public U8G2 {
  11894. public: U8G2_ST7567_HEM6432_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11895. u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11896. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11897. }
  11898. };
  11899. class U8G2_ST7567_HEM6432_2_8080 : public U8G2 {
  11900. public: U8G2_ST7567_HEM6432_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11901. u8g2_Setup_st7567_hem6432_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11902. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11903. }
  11904. };
  11905. class U8G2_ST7567_64X32_F_4W_SW_SPI : public U8G2 {
  11906. public: U8G2_ST7567_64X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11907. u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11908. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11909. }
  11910. };
  11911. #if defined U8G2_USE_HW_SPI
  11912. class U8G2_ST7567_64X32_F_4W_HW_SPI : public U8G2 {
  11913. public: U8G2_ST7567_64X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11914. u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11915. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11916. }
  11917. };
  11918. #endif
  11919. class U8G2_ST7567_64X32_F_6800 : public U8G2 {
  11920. public: U8G2_ST7567_64X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11921. u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11922. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11923. }
  11924. };
  11925. class U8G2_ST7567_64X32_F_8080 : public U8G2 {
  11926. public: U8G2_ST7567_64X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11927. u8g2_Setup_st7567_64x32_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11928. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11929. }
  11930. };
  11931. class U8G2_ST7567_HEM6432_F_4W_SW_SPI : public U8G2 {
  11932. public: U8G2_ST7567_HEM6432_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11933. u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  11934. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  11935. }
  11936. };
  11937. #if defined U8G2_USE_HW_SPI
  11938. class U8G2_ST7567_HEM6432_F_4W_HW_SPI : public U8G2 {
  11939. public: U8G2_ST7567_HEM6432_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11940. u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  11941. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  11942. }
  11943. };
  11944. #endif
  11945. class U8G2_ST7567_HEM6432_F_6800 : public U8G2 {
  11946. public: U8G2_ST7567_HEM6432_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11947. u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  11948. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11949. }
  11950. };
  11951. class U8G2_ST7567_HEM6432_F_8080 : public U8G2 {
  11952. public: U8G2_ST7567_HEM6432_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11953. u8g2_Setup_st7567_hem6432_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  11954. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  11955. }
  11956. };
  11957. class U8G2_ST7567_64X32_1_SW_I2C : public U8G2 {
  11958. public: U8G2_ST7567_64X32_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11959. u8g2_Setup_st7567_i2c_64x32_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  11960. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  11961. }
  11962. };
  11963. #if defined U8G2_USE_HW_I2C
  11964. class U8G2_ST7567_64X32_1_HW_I2C : public U8G2 {
  11965. public: U8G2_ST7567_64X32_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  11966. u8g2_Setup_st7567_i2c_64x32_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  11967. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  11968. }
  11969. };
  11970. #endif
  11971. class U8G2_ST7567_HEM6432_1_SW_I2C : public U8G2 {
  11972. public: U8G2_ST7567_HEM6432_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11973. u8g2_Setup_st7567_i2c_hem6432_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  11974. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  11975. }
  11976. };
  11977. #if defined U8G2_USE_HW_I2C
  11978. class U8G2_ST7567_HEM6432_1_HW_I2C : public U8G2 {
  11979. public: U8G2_ST7567_HEM6432_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  11980. u8g2_Setup_st7567_i2c_hem6432_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  11981. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  11982. }
  11983. };
  11984. #endif
  11985. class U8G2_ST7567_64X32_2_SW_I2C : public U8G2 {
  11986. public: U8G2_ST7567_64X32_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  11987. u8g2_Setup_st7567_i2c_64x32_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  11988. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  11989. }
  11990. };
  11991. #if defined U8G2_USE_HW_I2C
  11992. class U8G2_ST7567_64X32_2_HW_I2C : public U8G2 {
  11993. public: U8G2_ST7567_64X32_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  11994. u8g2_Setup_st7567_i2c_64x32_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  11995. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  11996. }
  11997. };
  11998. #endif
  11999. class U8G2_ST7567_HEM6432_2_SW_I2C : public U8G2 {
  12000. public: U8G2_ST7567_HEM6432_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12001. u8g2_Setup_st7567_i2c_hem6432_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12002. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12003. }
  12004. };
  12005. #if defined U8G2_USE_HW_I2C
  12006. class U8G2_ST7567_HEM6432_2_HW_I2C : public U8G2 {
  12007. public: U8G2_ST7567_HEM6432_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12008. u8g2_Setup_st7567_i2c_hem6432_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12009. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12010. }
  12011. };
  12012. #endif
  12013. class U8G2_ST7567_64X32_F_SW_I2C : public U8G2 {
  12014. public: U8G2_ST7567_64X32_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12015. u8g2_Setup_st7567_i2c_64x32_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12016. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12017. }
  12018. };
  12019. #if defined U8G2_USE_HW_I2C
  12020. class U8G2_ST7567_64X32_F_HW_I2C : public U8G2 {
  12021. public: U8G2_ST7567_64X32_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12022. u8g2_Setup_st7567_i2c_64x32_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12023. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12024. }
  12025. };
  12026. #endif
  12027. class U8G2_ST7567_HEM6432_F_SW_I2C : public U8G2 {
  12028. public: U8G2_ST7567_HEM6432_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12029. u8g2_Setup_st7567_i2c_hem6432_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12030. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12031. }
  12032. };
  12033. #if defined U8G2_USE_HW_I2C
  12034. class U8G2_ST7567_HEM6432_F_HW_I2C : public U8G2 {
  12035. public: U8G2_ST7567_HEM6432_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12036. u8g2_Setup_st7567_i2c_hem6432_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12037. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12038. }
  12039. };
  12040. #endif
  12041. class U8G2_ST7571_128X128_1_4W_SW_SPI : public U8G2 {
  12042. public: U8G2_ST7571_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12043. u8g2_Setup_st7571_128x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12044. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12045. }
  12046. };
  12047. #if defined U8G2_USE_HW_SPI
  12048. class U8G2_ST7571_128X128_1_4W_HW_SPI : public U8G2 {
  12049. public: U8G2_ST7571_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12050. u8g2_Setup_st7571_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12051. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12052. }
  12053. };
  12054. #endif
  12055. class U8G2_ST7571_128X128_1_6800 : public U8G2 {
  12056. public: U8G2_ST7571_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12057. u8g2_Setup_st7571_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12058. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12059. }
  12060. };
  12061. class U8G2_ST7571_128X128_1_8080 : public U8G2 {
  12062. public: U8G2_ST7571_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12063. u8g2_Setup_st7571_128x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12064. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12065. }
  12066. };
  12067. class U8G2_ST7571_128X128_2_4W_SW_SPI : public U8G2 {
  12068. public: U8G2_ST7571_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12069. u8g2_Setup_st7571_128x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12070. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12071. }
  12072. };
  12073. #if defined U8G2_USE_HW_SPI
  12074. class U8G2_ST7571_128X128_2_4W_HW_SPI : public U8G2 {
  12075. public: U8G2_ST7571_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12076. u8g2_Setup_st7571_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12077. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12078. }
  12079. };
  12080. #endif
  12081. class U8G2_ST7571_128X128_2_6800 : public U8G2 {
  12082. public: U8G2_ST7571_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12083. u8g2_Setup_st7571_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12084. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12085. }
  12086. };
  12087. class U8G2_ST7571_128X128_2_8080 : public U8G2 {
  12088. public: U8G2_ST7571_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12089. u8g2_Setup_st7571_128x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12090. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12091. }
  12092. };
  12093. class U8G2_ST7571_128X128_F_4W_SW_SPI : public U8G2 {
  12094. public: U8G2_ST7571_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12095. u8g2_Setup_st7571_128x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12096. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12097. }
  12098. };
  12099. #if defined U8G2_USE_HW_SPI
  12100. class U8G2_ST7571_128X128_F_4W_HW_SPI : public U8G2 {
  12101. public: U8G2_ST7571_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12102. u8g2_Setup_st7571_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12103. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12104. }
  12105. };
  12106. #endif
  12107. class U8G2_ST7571_128X128_F_6800 : public U8G2 {
  12108. public: U8G2_ST7571_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12109. u8g2_Setup_st7571_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12110. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12111. }
  12112. };
  12113. class U8G2_ST7571_128X128_F_8080 : public U8G2 {
  12114. public: U8G2_ST7571_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12115. u8g2_Setup_st7571_128x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12116. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12117. }
  12118. };
  12119. class U8G2_ST7571_128X128_1_SW_I2C : public U8G2 {
  12120. public: U8G2_ST7571_128X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12121. u8g2_Setup_st7571_i2c_128x128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12122. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12123. }
  12124. };
  12125. #if defined U8G2_USE_HW_I2C
  12126. class U8G2_ST7571_128X128_1_HW_I2C : public U8G2 {
  12127. public: U8G2_ST7571_128X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12128. u8g2_Setup_st7571_i2c_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12129. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12130. }
  12131. };
  12132. #endif
  12133. class U8G2_ST7571_128X128_2_SW_I2C : public U8G2 {
  12134. public: U8G2_ST7571_128X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12135. u8g2_Setup_st7571_i2c_128x128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12136. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12137. }
  12138. };
  12139. #if defined U8G2_USE_HW_I2C
  12140. class U8G2_ST7571_128X128_2_HW_I2C : public U8G2 {
  12141. public: U8G2_ST7571_128X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12142. u8g2_Setup_st7571_i2c_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12143. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12144. }
  12145. };
  12146. #endif
  12147. class U8G2_ST7571_128X128_F_SW_I2C : public U8G2 {
  12148. public: U8G2_ST7571_128X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12149. u8g2_Setup_st7571_i2c_128x128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12150. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12151. }
  12152. };
  12153. #if defined U8G2_USE_HW_I2C
  12154. class U8G2_ST7571_128X128_F_HW_I2C : public U8G2 {
  12155. public: U8G2_ST7571_128X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12156. u8g2_Setup_st7571_i2c_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12157. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12158. }
  12159. };
  12160. #endif
  12161. class U8G2_ST7571_128X96_1_4W_SW_SPI : public U8G2 {
  12162. public: U8G2_ST7571_128X96_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12163. u8g2_Setup_st7571_128x96_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12164. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12165. }
  12166. };
  12167. #if defined U8G2_USE_HW_SPI
  12168. class U8G2_ST7571_128X96_1_4W_HW_SPI : public U8G2 {
  12169. public: U8G2_ST7571_128X96_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12170. u8g2_Setup_st7571_128x96_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12171. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12172. }
  12173. };
  12174. #endif
  12175. class U8G2_ST7571_128X96_1_6800 : public U8G2 {
  12176. public: U8G2_ST7571_128X96_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12177. u8g2_Setup_st7571_128x96_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12178. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12179. }
  12180. };
  12181. class U8G2_ST7571_128X96_1_8080 : public U8G2 {
  12182. public: U8G2_ST7571_128X96_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12183. u8g2_Setup_st7571_128x96_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12184. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12185. }
  12186. };
  12187. class U8G2_ST7571_128X96_2_4W_SW_SPI : public U8G2 {
  12188. public: U8G2_ST7571_128X96_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12189. u8g2_Setup_st7571_128x96_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12190. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12191. }
  12192. };
  12193. #if defined U8G2_USE_HW_SPI
  12194. class U8G2_ST7571_128X96_2_4W_HW_SPI : public U8G2 {
  12195. public: U8G2_ST7571_128X96_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12196. u8g2_Setup_st7571_128x96_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12197. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12198. }
  12199. };
  12200. #endif
  12201. class U8G2_ST7571_128X96_2_6800 : public U8G2 {
  12202. public: U8G2_ST7571_128X96_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12203. u8g2_Setup_st7571_128x96_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12204. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12205. }
  12206. };
  12207. class U8G2_ST7571_128X96_2_8080 : public U8G2 {
  12208. public: U8G2_ST7571_128X96_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12209. u8g2_Setup_st7571_128x96_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12210. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12211. }
  12212. };
  12213. class U8G2_ST7571_128X96_F_4W_SW_SPI : public U8G2 {
  12214. public: U8G2_ST7571_128X96_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12215. u8g2_Setup_st7571_128x96_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12216. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12217. }
  12218. };
  12219. #if defined U8G2_USE_HW_SPI
  12220. class U8G2_ST7571_128X96_F_4W_HW_SPI : public U8G2 {
  12221. public: U8G2_ST7571_128X96_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12222. u8g2_Setup_st7571_128x96_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12223. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12224. }
  12225. };
  12226. #endif
  12227. class U8G2_ST7571_128X96_F_6800 : public U8G2 {
  12228. public: U8G2_ST7571_128X96_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12229. u8g2_Setup_st7571_128x96_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12230. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12231. }
  12232. };
  12233. class U8G2_ST7571_128X96_F_8080 : public U8G2 {
  12234. public: U8G2_ST7571_128X96_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12235. u8g2_Setup_st7571_128x96_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12236. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12237. }
  12238. };
  12239. class U8G2_ST7571_128X96_1_SW_I2C : public U8G2 {
  12240. public: U8G2_ST7571_128X96_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12241. u8g2_Setup_st7571_i2c_128x96_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12242. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12243. }
  12244. };
  12245. #if defined U8G2_USE_HW_I2C
  12246. class U8G2_ST7571_128X96_1_HW_I2C : public U8G2 {
  12247. public: U8G2_ST7571_128X96_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12248. u8g2_Setup_st7571_i2c_128x96_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12249. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12250. }
  12251. };
  12252. #endif
  12253. class U8G2_ST7571_128X96_2_SW_I2C : public U8G2 {
  12254. public: U8G2_ST7571_128X96_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12255. u8g2_Setup_st7571_i2c_128x96_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12256. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12257. }
  12258. };
  12259. #if defined U8G2_USE_HW_I2C
  12260. class U8G2_ST7571_128X96_2_HW_I2C : public U8G2 {
  12261. public: U8G2_ST7571_128X96_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12262. u8g2_Setup_st7571_i2c_128x96_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12263. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12264. }
  12265. };
  12266. #endif
  12267. class U8G2_ST7571_128X96_F_SW_I2C : public U8G2 {
  12268. public: U8G2_ST7571_128X96_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12269. u8g2_Setup_st7571_i2c_128x96_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12270. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12271. }
  12272. };
  12273. #if defined U8G2_USE_HW_I2C
  12274. class U8G2_ST7571_128X96_F_HW_I2C : public U8G2 {
  12275. public: U8G2_ST7571_128X96_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12276. u8g2_Setup_st7571_i2c_128x96_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12277. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12278. }
  12279. };
  12280. #endif
  12281. class U8G2_ST7586S_S028HN118A_1_4W_SW_SPI : public U8G2 {
  12282. public: U8G2_ST7586S_S028HN118A_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12283. u8g2_Setup_st7586s_s028hn118a_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12284. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12285. }
  12286. };
  12287. #if defined U8G2_USE_HW_SPI
  12288. class U8G2_ST7586S_S028HN118A_1_4W_HW_SPI : public U8G2 {
  12289. public: U8G2_ST7586S_S028HN118A_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12290. u8g2_Setup_st7586s_s028hn118a_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12291. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12292. }
  12293. };
  12294. #endif
  12295. class U8G2_ST7586S_S028HN118A_2_4W_SW_SPI : public U8G2 {
  12296. public: U8G2_ST7586S_S028HN118A_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12297. u8g2_Setup_st7586s_s028hn118a_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12298. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12299. }
  12300. };
  12301. #if defined U8G2_USE_HW_SPI
  12302. class U8G2_ST7586S_S028HN118A_2_4W_HW_SPI : public U8G2 {
  12303. public: U8G2_ST7586S_S028HN118A_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12304. u8g2_Setup_st7586s_s028hn118a_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12305. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12306. }
  12307. };
  12308. #endif
  12309. class U8G2_ST7586S_S028HN118A_F_4W_SW_SPI : public U8G2 {
  12310. public: U8G2_ST7586S_S028HN118A_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12311. u8g2_Setup_st7586s_s028hn118a_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12312. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12313. }
  12314. };
  12315. #if defined U8G2_USE_HW_SPI
  12316. class U8G2_ST7586S_S028HN118A_F_4W_HW_SPI : public U8G2 {
  12317. public: U8G2_ST7586S_S028HN118A_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12318. u8g2_Setup_st7586s_s028hn118a_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12319. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12320. }
  12321. };
  12322. #endif
  12323. class U8G2_ST7586S_ERC240160_1_4W_SW_SPI : public U8G2 {
  12324. public: U8G2_ST7586S_ERC240160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12325. u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12326. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12327. }
  12328. };
  12329. #if defined U8G2_USE_HW_SPI
  12330. class U8G2_ST7586S_ERC240160_1_4W_HW_SPI : public U8G2 {
  12331. public: U8G2_ST7586S_ERC240160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12332. u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12333. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12334. }
  12335. };
  12336. #endif
  12337. class U8G2_ST7586S_ERC240160_1_3W_SW_SPI : public U8G2 {
  12338. public: U8G2_ST7586S_ERC240160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12339. u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12340. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12341. }
  12342. };
  12343. class U8G2_ST7586S_ERC240160_1_6800 : public U8G2 {
  12344. public: U8G2_ST7586S_ERC240160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12345. u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12346. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12347. }
  12348. };
  12349. class U8G2_ST7586S_ERC240160_1_8080 : public U8G2 {
  12350. public: U8G2_ST7586S_ERC240160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12351. u8g2_Setup_st7586s_erc240160_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12352. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12353. }
  12354. };
  12355. class U8G2_ST7586S_YMC240160_1_4W_SW_SPI : public U8G2 {
  12356. public: U8G2_ST7586S_YMC240160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12357. u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12358. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12359. }
  12360. };
  12361. #if defined U8G2_USE_HW_SPI
  12362. class U8G2_ST7586S_YMC240160_1_4W_HW_SPI : public U8G2 {
  12363. public: U8G2_ST7586S_YMC240160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12364. u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12365. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12366. }
  12367. };
  12368. #endif
  12369. class U8G2_ST7586S_YMC240160_1_3W_SW_SPI : public U8G2 {
  12370. public: U8G2_ST7586S_YMC240160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12371. u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12372. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12373. }
  12374. };
  12375. class U8G2_ST7586S_YMC240160_1_6800 : public U8G2 {
  12376. public: U8G2_ST7586S_YMC240160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12377. u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12378. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12379. }
  12380. };
  12381. class U8G2_ST7586S_YMC240160_1_8080 : public U8G2 {
  12382. public: U8G2_ST7586S_YMC240160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12383. u8g2_Setup_st7586s_ymc240160_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12384. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12385. }
  12386. };
  12387. class U8G2_ST7586S_ERC240160_2_4W_SW_SPI : public U8G2 {
  12388. public: U8G2_ST7586S_ERC240160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12389. u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12390. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12391. }
  12392. };
  12393. #if defined U8G2_USE_HW_SPI
  12394. class U8G2_ST7586S_ERC240160_2_4W_HW_SPI : public U8G2 {
  12395. public: U8G2_ST7586S_ERC240160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12396. u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12397. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12398. }
  12399. };
  12400. #endif
  12401. class U8G2_ST7586S_ERC240160_2_3W_SW_SPI : public U8G2 {
  12402. public: U8G2_ST7586S_ERC240160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12403. u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12404. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12405. }
  12406. };
  12407. class U8G2_ST7586S_ERC240160_2_6800 : public U8G2 {
  12408. public: U8G2_ST7586S_ERC240160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12409. u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12410. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12411. }
  12412. };
  12413. class U8G2_ST7586S_ERC240160_2_8080 : public U8G2 {
  12414. public: U8G2_ST7586S_ERC240160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12415. u8g2_Setup_st7586s_erc240160_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12416. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12417. }
  12418. };
  12419. class U8G2_ST7586S_YMC240160_2_4W_SW_SPI : public U8G2 {
  12420. public: U8G2_ST7586S_YMC240160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12421. u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12422. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12423. }
  12424. };
  12425. #if defined U8G2_USE_HW_SPI
  12426. class U8G2_ST7586S_YMC240160_2_4W_HW_SPI : public U8G2 {
  12427. public: U8G2_ST7586S_YMC240160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12428. u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12429. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12430. }
  12431. };
  12432. #endif
  12433. class U8G2_ST7586S_YMC240160_2_3W_SW_SPI : public U8G2 {
  12434. public: U8G2_ST7586S_YMC240160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12435. u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12436. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12437. }
  12438. };
  12439. class U8G2_ST7586S_YMC240160_2_6800 : public U8G2 {
  12440. public: U8G2_ST7586S_YMC240160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12441. u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12442. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12443. }
  12444. };
  12445. class U8G2_ST7586S_YMC240160_2_8080 : public U8G2 {
  12446. public: U8G2_ST7586S_YMC240160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12447. u8g2_Setup_st7586s_ymc240160_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12448. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12449. }
  12450. };
  12451. class U8G2_ST7586S_ERC240160_F_4W_SW_SPI : public U8G2 {
  12452. public: U8G2_ST7586S_ERC240160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12453. u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12454. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12455. }
  12456. };
  12457. #if defined U8G2_USE_HW_SPI
  12458. class U8G2_ST7586S_ERC240160_F_4W_HW_SPI : public U8G2 {
  12459. public: U8G2_ST7586S_ERC240160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12460. u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12461. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12462. }
  12463. };
  12464. #endif
  12465. class U8G2_ST7586S_ERC240160_F_3W_SW_SPI : public U8G2 {
  12466. public: U8G2_ST7586S_ERC240160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12467. u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12468. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12469. }
  12470. };
  12471. class U8G2_ST7586S_ERC240160_F_6800 : public U8G2 {
  12472. public: U8G2_ST7586S_ERC240160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12473. u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12474. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12475. }
  12476. };
  12477. class U8G2_ST7586S_ERC240160_F_8080 : public U8G2 {
  12478. public: U8G2_ST7586S_ERC240160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12479. u8g2_Setup_st7586s_erc240160_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12480. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12481. }
  12482. };
  12483. class U8G2_ST7586S_YMC240160_F_4W_SW_SPI : public U8G2 {
  12484. public: U8G2_ST7586S_YMC240160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12485. u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12486. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12487. }
  12488. };
  12489. #if defined U8G2_USE_HW_SPI
  12490. class U8G2_ST7586S_YMC240160_F_4W_HW_SPI : public U8G2 {
  12491. public: U8G2_ST7586S_YMC240160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12492. u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12493. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12494. }
  12495. };
  12496. #endif
  12497. class U8G2_ST7586S_YMC240160_F_3W_SW_SPI : public U8G2 {
  12498. public: U8G2_ST7586S_YMC240160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12499. u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12500. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12501. }
  12502. };
  12503. class U8G2_ST7586S_YMC240160_F_6800 : public U8G2 {
  12504. public: U8G2_ST7586S_YMC240160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12505. u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12506. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12507. }
  12508. };
  12509. class U8G2_ST7586S_YMC240160_F_8080 : public U8G2 {
  12510. public: U8G2_ST7586S_YMC240160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12511. u8g2_Setup_st7586s_ymc240160_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12512. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12513. }
  12514. };
  12515. class U8G2_ST7588_JLX12864_1_4W_SW_SPI : public U8G2 {
  12516. public: U8G2_ST7588_JLX12864_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12517. u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12518. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12519. }
  12520. };
  12521. #if defined U8G2_USE_HW_SPI
  12522. class U8G2_ST7588_JLX12864_1_4W_HW_SPI : public U8G2 {
  12523. public: U8G2_ST7588_JLX12864_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12524. u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12525. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12526. }
  12527. };
  12528. #endif
  12529. class U8G2_ST7588_JLX12864_1_3W_SW_SPI : public U8G2 {
  12530. public: U8G2_ST7588_JLX12864_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12531. u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12532. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12533. }
  12534. };
  12535. class U8G2_ST7588_JLX12864_1_6800 : public U8G2 {
  12536. public: U8G2_ST7588_JLX12864_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12537. u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12538. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12539. }
  12540. };
  12541. class U8G2_ST7588_JLX12864_1_8080 : public U8G2 {
  12542. public: U8G2_ST7588_JLX12864_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12543. u8g2_Setup_st7588_jlx12864_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12544. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12545. }
  12546. };
  12547. class U8G2_ST7588_JLX12864_2_4W_SW_SPI : public U8G2 {
  12548. public: U8G2_ST7588_JLX12864_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12549. u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12550. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12551. }
  12552. };
  12553. #if defined U8G2_USE_HW_SPI
  12554. class U8G2_ST7588_JLX12864_2_4W_HW_SPI : public U8G2 {
  12555. public: U8G2_ST7588_JLX12864_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12556. u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12557. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12558. }
  12559. };
  12560. #endif
  12561. class U8G2_ST7588_JLX12864_2_3W_SW_SPI : public U8G2 {
  12562. public: U8G2_ST7588_JLX12864_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12563. u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12564. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12565. }
  12566. };
  12567. class U8G2_ST7588_JLX12864_2_6800 : public U8G2 {
  12568. public: U8G2_ST7588_JLX12864_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12569. u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12570. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12571. }
  12572. };
  12573. class U8G2_ST7588_JLX12864_2_8080 : public U8G2 {
  12574. public: U8G2_ST7588_JLX12864_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12575. u8g2_Setup_st7588_jlx12864_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12576. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12577. }
  12578. };
  12579. class U8G2_ST7588_JLX12864_F_4W_SW_SPI : public U8G2 {
  12580. public: U8G2_ST7588_JLX12864_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12581. u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12582. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12583. }
  12584. };
  12585. #if defined U8G2_USE_HW_SPI
  12586. class U8G2_ST7588_JLX12864_F_4W_HW_SPI : public U8G2 {
  12587. public: U8G2_ST7588_JLX12864_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12588. u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12589. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12590. }
  12591. };
  12592. #endif
  12593. class U8G2_ST7588_JLX12864_F_3W_SW_SPI : public U8G2 {
  12594. public: U8G2_ST7588_JLX12864_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12595. u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12596. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12597. }
  12598. };
  12599. class U8G2_ST7588_JLX12864_F_6800 : public U8G2 {
  12600. public: U8G2_ST7588_JLX12864_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12601. u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12602. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12603. }
  12604. };
  12605. class U8G2_ST7588_JLX12864_F_8080 : public U8G2 {
  12606. public: U8G2_ST7588_JLX12864_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12607. u8g2_Setup_st7588_jlx12864_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12608. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12609. }
  12610. };
  12611. class U8G2_ST7588_JLX12864_1_SW_I2C : public U8G2 {
  12612. public: U8G2_ST7588_JLX12864_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12613. u8g2_Setup_st7588_i2c_jlx12864_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12614. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12615. }
  12616. };
  12617. #if defined U8G2_USE_HW_I2C
  12618. class U8G2_ST7588_JLX12864_1_HW_I2C : public U8G2 {
  12619. public: U8G2_ST7588_JLX12864_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12620. u8g2_Setup_st7588_i2c_jlx12864_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12621. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12622. }
  12623. };
  12624. #endif
  12625. class U8G2_ST7588_JLX12864_2_SW_I2C : public U8G2 {
  12626. public: U8G2_ST7588_JLX12864_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12627. u8g2_Setup_st7588_i2c_jlx12864_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12628. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12629. }
  12630. };
  12631. #if defined U8G2_USE_HW_I2C
  12632. class U8G2_ST7588_JLX12864_2_HW_I2C : public U8G2 {
  12633. public: U8G2_ST7588_JLX12864_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12634. u8g2_Setup_st7588_i2c_jlx12864_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12635. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12636. }
  12637. };
  12638. #endif
  12639. class U8G2_ST7588_JLX12864_F_SW_I2C : public U8G2 {
  12640. public: U8G2_ST7588_JLX12864_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12641. u8g2_Setup_st7588_i2c_jlx12864_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12642. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12643. }
  12644. };
  12645. #if defined U8G2_USE_HW_I2C
  12646. class U8G2_ST7588_JLX12864_F_HW_I2C : public U8G2 {
  12647. public: U8G2_ST7588_JLX12864_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12648. u8g2_Setup_st7588_i2c_jlx12864_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12649. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12650. }
  12651. };
  12652. #endif
  12653. class U8G2_ST75256_JLX256128_1_4W_SW_SPI : public U8G2 {
  12654. public: U8G2_ST75256_JLX256128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12655. u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12656. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12657. }
  12658. };
  12659. #if defined U8G2_USE_HW_SPI
  12660. class U8G2_ST75256_JLX256128_1_4W_HW_SPI : public U8G2 {
  12661. public: U8G2_ST75256_JLX256128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12662. u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12663. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12664. }
  12665. };
  12666. #endif
  12667. class U8G2_ST75256_JLX256128_1_3W_SW_SPI : public U8G2 {
  12668. public: U8G2_ST75256_JLX256128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12669. u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12670. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12671. }
  12672. };
  12673. class U8G2_ST75256_JLX256128_1_6800 : public U8G2 {
  12674. public: U8G2_ST75256_JLX256128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12675. u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12676. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12677. }
  12678. };
  12679. class U8G2_ST75256_JLX256128_1_8080 : public U8G2 {
  12680. public: U8G2_ST75256_JLX256128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12681. u8g2_Setup_st75256_jlx256128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12682. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12683. }
  12684. };
  12685. class U8G2_ST75256_WO256X128_1_4W_SW_SPI : public U8G2 {
  12686. public: U8G2_ST75256_WO256X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12687. u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12688. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12689. }
  12690. };
  12691. #if defined U8G2_USE_HW_SPI
  12692. class U8G2_ST75256_WO256X128_1_4W_HW_SPI : public U8G2 {
  12693. public: U8G2_ST75256_WO256X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12694. u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12695. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12696. }
  12697. };
  12698. #endif
  12699. class U8G2_ST75256_WO256X128_1_3W_SW_SPI : public U8G2 {
  12700. public: U8G2_ST75256_WO256X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12701. u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12702. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12703. }
  12704. };
  12705. class U8G2_ST75256_WO256X128_1_6800 : public U8G2 {
  12706. public: U8G2_ST75256_WO256X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12707. u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12708. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12709. }
  12710. };
  12711. class U8G2_ST75256_WO256X128_1_8080 : public U8G2 {
  12712. public: U8G2_ST75256_WO256X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12713. u8g2_Setup_st75256_wo256x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12714. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12715. }
  12716. };
  12717. class U8G2_ST75256_JLX256128_2_4W_SW_SPI : public U8G2 {
  12718. public: U8G2_ST75256_JLX256128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12719. u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12720. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12721. }
  12722. };
  12723. #if defined U8G2_USE_HW_SPI
  12724. class U8G2_ST75256_JLX256128_2_4W_HW_SPI : public U8G2 {
  12725. public: U8G2_ST75256_JLX256128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12726. u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12727. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12728. }
  12729. };
  12730. #endif
  12731. class U8G2_ST75256_JLX256128_2_3W_SW_SPI : public U8G2 {
  12732. public: U8G2_ST75256_JLX256128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12733. u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12734. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12735. }
  12736. };
  12737. class U8G2_ST75256_JLX256128_2_6800 : public U8G2 {
  12738. public: U8G2_ST75256_JLX256128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12739. u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12740. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12741. }
  12742. };
  12743. class U8G2_ST75256_JLX256128_2_8080 : public U8G2 {
  12744. public: U8G2_ST75256_JLX256128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12745. u8g2_Setup_st75256_jlx256128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12746. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12747. }
  12748. };
  12749. class U8G2_ST75256_WO256X128_2_4W_SW_SPI : public U8G2 {
  12750. public: U8G2_ST75256_WO256X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12751. u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12752. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12753. }
  12754. };
  12755. #if defined U8G2_USE_HW_SPI
  12756. class U8G2_ST75256_WO256X128_2_4W_HW_SPI : public U8G2 {
  12757. public: U8G2_ST75256_WO256X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12758. u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12759. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12760. }
  12761. };
  12762. #endif
  12763. class U8G2_ST75256_WO256X128_2_3W_SW_SPI : public U8G2 {
  12764. public: U8G2_ST75256_WO256X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12765. u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12766. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12767. }
  12768. };
  12769. class U8G2_ST75256_WO256X128_2_6800 : public U8G2 {
  12770. public: U8G2_ST75256_WO256X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12771. u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12772. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12773. }
  12774. };
  12775. class U8G2_ST75256_WO256X128_2_8080 : public U8G2 {
  12776. public: U8G2_ST75256_WO256X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12777. u8g2_Setup_st75256_wo256x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12778. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12779. }
  12780. };
  12781. class U8G2_ST75256_JLX256128_F_4W_SW_SPI : public U8G2 {
  12782. public: U8G2_ST75256_JLX256128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12783. u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12784. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12785. }
  12786. };
  12787. #if defined U8G2_USE_HW_SPI
  12788. class U8G2_ST75256_JLX256128_F_4W_HW_SPI : public U8G2 {
  12789. public: U8G2_ST75256_JLX256128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12790. u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12791. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12792. }
  12793. };
  12794. #endif
  12795. class U8G2_ST75256_JLX256128_F_3W_SW_SPI : public U8G2 {
  12796. public: U8G2_ST75256_JLX256128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12797. u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12798. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12799. }
  12800. };
  12801. class U8G2_ST75256_JLX256128_F_6800 : public U8G2 {
  12802. public: U8G2_ST75256_JLX256128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12803. u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12804. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12805. }
  12806. };
  12807. class U8G2_ST75256_JLX256128_F_8080 : public U8G2 {
  12808. public: U8G2_ST75256_JLX256128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12809. u8g2_Setup_st75256_jlx256128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12810. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12811. }
  12812. };
  12813. class U8G2_ST75256_WO256X128_F_4W_SW_SPI : public U8G2 {
  12814. public: U8G2_ST75256_WO256X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12815. u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12816. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12817. }
  12818. };
  12819. #if defined U8G2_USE_HW_SPI
  12820. class U8G2_ST75256_WO256X128_F_4W_HW_SPI : public U8G2 {
  12821. public: U8G2_ST75256_WO256X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12822. u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12823. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12824. }
  12825. };
  12826. #endif
  12827. class U8G2_ST75256_WO256X128_F_3W_SW_SPI : public U8G2 {
  12828. public: U8G2_ST75256_WO256X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12829. u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12830. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12831. }
  12832. };
  12833. class U8G2_ST75256_WO256X128_F_6800 : public U8G2 {
  12834. public: U8G2_ST75256_WO256X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12835. u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12836. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12837. }
  12838. };
  12839. class U8G2_ST75256_WO256X128_F_8080 : public U8G2 {
  12840. public: U8G2_ST75256_WO256X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12841. u8g2_Setup_st75256_wo256x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12842. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12843. }
  12844. };
  12845. class U8G2_ST75256_JLX256128_1_SW_I2C : public U8G2 {
  12846. public: U8G2_ST75256_JLX256128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12847. u8g2_Setup_st75256_i2c_jlx256128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12848. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12849. }
  12850. };
  12851. #if defined U8G2_USE_HW_I2C
  12852. class U8G2_ST75256_JLX256128_1_HW_I2C : public U8G2 {
  12853. public: U8G2_ST75256_JLX256128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12854. u8g2_Setup_st75256_i2c_jlx256128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12855. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12856. }
  12857. };
  12858. #endif
  12859. class U8G2_ST75256_WO256X128_1_SW_I2C : public U8G2 {
  12860. public: U8G2_ST75256_WO256X128_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12861. u8g2_Setup_st75256_i2c_wo256x128_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12862. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12863. }
  12864. };
  12865. #if defined U8G2_USE_HW_I2C
  12866. class U8G2_ST75256_WO256X128_1_HW_I2C : public U8G2 {
  12867. public: U8G2_ST75256_WO256X128_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12868. u8g2_Setup_st75256_i2c_wo256x128_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12869. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12870. }
  12871. };
  12872. #endif
  12873. class U8G2_ST75256_JLX256128_2_SW_I2C : public U8G2 {
  12874. public: U8G2_ST75256_JLX256128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12875. u8g2_Setup_st75256_i2c_jlx256128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12876. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12877. }
  12878. };
  12879. #if defined U8G2_USE_HW_I2C
  12880. class U8G2_ST75256_JLX256128_2_HW_I2C : public U8G2 {
  12881. public: U8G2_ST75256_JLX256128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12882. u8g2_Setup_st75256_i2c_jlx256128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12883. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12884. }
  12885. };
  12886. #endif
  12887. class U8G2_ST75256_WO256X128_2_SW_I2C : public U8G2 {
  12888. public: U8G2_ST75256_WO256X128_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12889. u8g2_Setup_st75256_i2c_wo256x128_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12890. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12891. }
  12892. };
  12893. #if defined U8G2_USE_HW_I2C
  12894. class U8G2_ST75256_WO256X128_2_HW_I2C : public U8G2 {
  12895. public: U8G2_ST75256_WO256X128_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12896. u8g2_Setup_st75256_i2c_wo256x128_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12897. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12898. }
  12899. };
  12900. #endif
  12901. class U8G2_ST75256_JLX256128_F_SW_I2C : public U8G2 {
  12902. public: U8G2_ST75256_JLX256128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12903. u8g2_Setup_st75256_i2c_jlx256128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12904. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12905. }
  12906. };
  12907. #if defined U8G2_USE_HW_I2C
  12908. class U8G2_ST75256_JLX256128_F_HW_I2C : public U8G2 {
  12909. public: U8G2_ST75256_JLX256128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12910. u8g2_Setup_st75256_i2c_jlx256128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12911. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12912. }
  12913. };
  12914. #endif
  12915. class U8G2_ST75256_WO256X128_F_SW_I2C : public U8G2 {
  12916. public: U8G2_ST75256_WO256X128_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12917. u8g2_Setup_st75256_i2c_wo256x128_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  12918. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  12919. }
  12920. };
  12921. #if defined U8G2_USE_HW_I2C
  12922. class U8G2_ST75256_WO256X128_F_HW_I2C : public U8G2 {
  12923. public: U8G2_ST75256_WO256X128_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  12924. u8g2_Setup_st75256_i2c_wo256x128_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  12925. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  12926. }
  12927. };
  12928. #endif
  12929. class U8G2_ST75256_JLX256160_1_4W_SW_SPI : public U8G2 {
  12930. public: U8G2_ST75256_JLX256160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12931. u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12932. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12933. }
  12934. };
  12935. #if defined U8G2_USE_HW_SPI
  12936. class U8G2_ST75256_JLX256160_1_4W_HW_SPI : public U8G2 {
  12937. public: U8G2_ST75256_JLX256160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12938. u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12939. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12940. }
  12941. };
  12942. #endif
  12943. class U8G2_ST75256_JLX256160_1_3W_SW_SPI : public U8G2 {
  12944. public: U8G2_ST75256_JLX256160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12945. u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12946. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12947. }
  12948. };
  12949. class U8G2_ST75256_JLX256160_1_6800 : public U8G2 {
  12950. public: U8G2_ST75256_JLX256160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12951. u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12952. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12953. }
  12954. };
  12955. class U8G2_ST75256_JLX256160_1_8080 : public U8G2 {
  12956. public: U8G2_ST75256_JLX256160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12957. u8g2_Setup_st75256_jlx256160_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12958. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12959. }
  12960. };
  12961. class U8G2_ST75256_JLX256160M_1_4W_SW_SPI : public U8G2 {
  12962. public: U8G2_ST75256_JLX256160M_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12963. u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12964. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12965. }
  12966. };
  12967. #if defined U8G2_USE_HW_SPI
  12968. class U8G2_ST75256_JLX256160M_1_4W_HW_SPI : public U8G2 {
  12969. public: U8G2_ST75256_JLX256160M_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12970. u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  12971. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  12972. }
  12973. };
  12974. #endif
  12975. class U8G2_ST75256_JLX256160M_1_3W_SW_SPI : public U8G2 {
  12976. public: U8G2_ST75256_JLX256160M_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12977. u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12978. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  12979. }
  12980. };
  12981. class U8G2_ST75256_JLX256160M_1_6800 : public U8G2 {
  12982. public: U8G2_ST75256_JLX256160M_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12983. u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  12984. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12985. }
  12986. };
  12987. class U8G2_ST75256_JLX256160M_1_8080 : public U8G2 {
  12988. public: U8G2_ST75256_JLX256160M_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12989. u8g2_Setup_st75256_jlx256160m_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  12990. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  12991. }
  12992. };
  12993. class U8G2_ST75256_JLX256160_ALT_1_4W_SW_SPI : public U8G2 {
  12994. public: U8G2_ST75256_JLX256160_ALT_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  12995. u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  12996. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  12997. }
  12998. };
  12999. #if defined U8G2_USE_HW_SPI
  13000. class U8G2_ST75256_JLX256160_ALT_1_4W_HW_SPI : public U8G2 {
  13001. public: U8G2_ST75256_JLX256160_ALT_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13002. u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13003. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13004. }
  13005. };
  13006. #endif
  13007. class U8G2_ST75256_JLX256160_ALT_1_3W_SW_SPI : public U8G2 {
  13008. public: U8G2_ST75256_JLX256160_ALT_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13009. u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13010. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13011. }
  13012. };
  13013. class U8G2_ST75256_JLX256160_ALT_1_6800 : public U8G2 {
  13014. public: U8G2_ST75256_JLX256160_ALT_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13015. u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13016. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13017. }
  13018. };
  13019. class U8G2_ST75256_JLX256160_ALT_1_8080 : public U8G2 {
  13020. public: U8G2_ST75256_JLX256160_ALT_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13021. u8g2_Setup_st75256_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13022. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13023. }
  13024. };
  13025. class U8G2_ST75256_JLX256160_2_4W_SW_SPI : public U8G2 {
  13026. public: U8G2_ST75256_JLX256160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13027. u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13028. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13029. }
  13030. };
  13031. #if defined U8G2_USE_HW_SPI
  13032. class U8G2_ST75256_JLX256160_2_4W_HW_SPI : public U8G2 {
  13033. public: U8G2_ST75256_JLX256160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13034. u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13035. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13036. }
  13037. };
  13038. #endif
  13039. class U8G2_ST75256_JLX256160_2_3W_SW_SPI : public U8G2 {
  13040. public: U8G2_ST75256_JLX256160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13041. u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13042. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13043. }
  13044. };
  13045. class U8G2_ST75256_JLX256160_2_6800 : public U8G2 {
  13046. public: U8G2_ST75256_JLX256160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13047. u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13048. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13049. }
  13050. };
  13051. class U8G2_ST75256_JLX256160_2_8080 : public U8G2 {
  13052. public: U8G2_ST75256_JLX256160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13053. u8g2_Setup_st75256_jlx256160_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13054. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13055. }
  13056. };
  13057. class U8G2_ST75256_JLX256160M_2_4W_SW_SPI : public U8G2 {
  13058. public: U8G2_ST75256_JLX256160M_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13059. u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13060. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13061. }
  13062. };
  13063. #if defined U8G2_USE_HW_SPI
  13064. class U8G2_ST75256_JLX256160M_2_4W_HW_SPI : public U8G2 {
  13065. public: U8G2_ST75256_JLX256160M_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13066. u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13067. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13068. }
  13069. };
  13070. #endif
  13071. class U8G2_ST75256_JLX256160M_2_3W_SW_SPI : public U8G2 {
  13072. public: U8G2_ST75256_JLX256160M_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13073. u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13074. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13075. }
  13076. };
  13077. class U8G2_ST75256_JLX256160M_2_6800 : public U8G2 {
  13078. public: U8G2_ST75256_JLX256160M_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13079. u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13080. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13081. }
  13082. };
  13083. class U8G2_ST75256_JLX256160M_2_8080 : public U8G2 {
  13084. public: U8G2_ST75256_JLX256160M_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13085. u8g2_Setup_st75256_jlx256160m_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13086. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13087. }
  13088. };
  13089. class U8G2_ST75256_JLX256160_ALT_2_4W_SW_SPI : public U8G2 {
  13090. public: U8G2_ST75256_JLX256160_ALT_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13091. u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13092. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13093. }
  13094. };
  13095. #if defined U8G2_USE_HW_SPI
  13096. class U8G2_ST75256_JLX256160_ALT_2_4W_HW_SPI : public U8G2 {
  13097. public: U8G2_ST75256_JLX256160_ALT_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13098. u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13099. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13100. }
  13101. };
  13102. #endif
  13103. class U8G2_ST75256_JLX256160_ALT_2_3W_SW_SPI : public U8G2 {
  13104. public: U8G2_ST75256_JLX256160_ALT_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13105. u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13106. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13107. }
  13108. };
  13109. class U8G2_ST75256_JLX256160_ALT_2_6800 : public U8G2 {
  13110. public: U8G2_ST75256_JLX256160_ALT_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13111. u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13112. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13113. }
  13114. };
  13115. class U8G2_ST75256_JLX256160_ALT_2_8080 : public U8G2 {
  13116. public: U8G2_ST75256_JLX256160_ALT_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13117. u8g2_Setup_st75256_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13118. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13119. }
  13120. };
  13121. class U8G2_ST75256_JLX256160_F_4W_SW_SPI : public U8G2 {
  13122. public: U8G2_ST75256_JLX256160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13123. u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13124. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13125. }
  13126. };
  13127. #if defined U8G2_USE_HW_SPI
  13128. class U8G2_ST75256_JLX256160_F_4W_HW_SPI : public U8G2 {
  13129. public: U8G2_ST75256_JLX256160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13130. u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13131. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13132. }
  13133. };
  13134. #endif
  13135. class U8G2_ST75256_JLX256160_F_3W_SW_SPI : public U8G2 {
  13136. public: U8G2_ST75256_JLX256160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13137. u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13138. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13139. }
  13140. };
  13141. class U8G2_ST75256_JLX256160_F_6800 : public U8G2 {
  13142. public: U8G2_ST75256_JLX256160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13143. u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13144. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13145. }
  13146. };
  13147. class U8G2_ST75256_JLX256160_F_8080 : public U8G2 {
  13148. public: U8G2_ST75256_JLX256160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13149. u8g2_Setup_st75256_jlx256160_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13150. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13151. }
  13152. };
  13153. class U8G2_ST75256_JLX256160M_F_4W_SW_SPI : public U8G2 {
  13154. public: U8G2_ST75256_JLX256160M_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13155. u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13156. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13157. }
  13158. };
  13159. #if defined U8G2_USE_HW_SPI
  13160. class U8G2_ST75256_JLX256160M_F_4W_HW_SPI : public U8G2 {
  13161. public: U8G2_ST75256_JLX256160M_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13162. u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13163. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13164. }
  13165. };
  13166. #endif
  13167. class U8G2_ST75256_JLX256160M_F_3W_SW_SPI : public U8G2 {
  13168. public: U8G2_ST75256_JLX256160M_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13169. u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13170. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13171. }
  13172. };
  13173. class U8G2_ST75256_JLX256160M_F_6800 : public U8G2 {
  13174. public: U8G2_ST75256_JLX256160M_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13175. u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13176. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13177. }
  13178. };
  13179. class U8G2_ST75256_JLX256160M_F_8080 : public U8G2 {
  13180. public: U8G2_ST75256_JLX256160M_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13181. u8g2_Setup_st75256_jlx256160m_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13182. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13183. }
  13184. };
  13185. class U8G2_ST75256_JLX256160_ALT_F_4W_SW_SPI : public U8G2 {
  13186. public: U8G2_ST75256_JLX256160_ALT_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13187. u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13188. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13189. }
  13190. };
  13191. #if defined U8G2_USE_HW_SPI
  13192. class U8G2_ST75256_JLX256160_ALT_F_4W_HW_SPI : public U8G2 {
  13193. public: U8G2_ST75256_JLX256160_ALT_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13194. u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13195. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13196. }
  13197. };
  13198. #endif
  13199. class U8G2_ST75256_JLX256160_ALT_F_3W_SW_SPI : public U8G2 {
  13200. public: U8G2_ST75256_JLX256160_ALT_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13201. u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13202. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13203. }
  13204. };
  13205. class U8G2_ST75256_JLX256160_ALT_F_6800 : public U8G2 {
  13206. public: U8G2_ST75256_JLX256160_ALT_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13207. u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13208. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13209. }
  13210. };
  13211. class U8G2_ST75256_JLX256160_ALT_F_8080 : public U8G2 {
  13212. public: U8G2_ST75256_JLX256160_ALT_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13213. u8g2_Setup_st75256_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13214. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13215. }
  13216. };
  13217. class U8G2_ST75256_JLX256160_1_SW_I2C : public U8G2 {
  13218. public: U8G2_ST75256_JLX256160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13219. u8g2_Setup_st75256_i2c_jlx256160_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13220. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13221. }
  13222. };
  13223. #if defined U8G2_USE_HW_I2C
  13224. class U8G2_ST75256_JLX256160_1_HW_I2C : public U8G2 {
  13225. public: U8G2_ST75256_JLX256160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13226. u8g2_Setup_st75256_i2c_jlx256160_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13227. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13228. }
  13229. };
  13230. #endif
  13231. class U8G2_ST75256_JLX256160M_1_SW_I2C : public U8G2 {
  13232. public: U8G2_ST75256_JLX256160M_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13233. u8g2_Setup_st75256_i2c_jlx256160m_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13234. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13235. }
  13236. };
  13237. #if defined U8G2_USE_HW_I2C
  13238. class U8G2_ST75256_JLX256160M_1_HW_I2C : public U8G2 {
  13239. public: U8G2_ST75256_JLX256160M_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13240. u8g2_Setup_st75256_i2c_jlx256160m_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13241. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13242. }
  13243. };
  13244. #endif
  13245. class U8G2_ST75256_JLX256160_ALT_1_SW_I2C : public U8G2 {
  13246. public: U8G2_ST75256_JLX256160_ALT_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13247. u8g2_Setup_st75256_i2c_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13248. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13249. }
  13250. };
  13251. #if defined U8G2_USE_HW_I2C
  13252. class U8G2_ST75256_JLX256160_ALT_1_HW_I2C : public U8G2 {
  13253. public: U8G2_ST75256_JLX256160_ALT_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13254. u8g2_Setup_st75256_i2c_jlx256160_alt_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13255. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13256. }
  13257. };
  13258. #endif
  13259. class U8G2_ST75256_JLX256160_2_SW_I2C : public U8G2 {
  13260. public: U8G2_ST75256_JLX256160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13261. u8g2_Setup_st75256_i2c_jlx256160_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13262. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13263. }
  13264. };
  13265. #if defined U8G2_USE_HW_I2C
  13266. class U8G2_ST75256_JLX256160_2_HW_I2C : public U8G2 {
  13267. public: U8G2_ST75256_JLX256160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13268. u8g2_Setup_st75256_i2c_jlx256160_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13269. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13270. }
  13271. };
  13272. #endif
  13273. class U8G2_ST75256_JLX256160M_2_SW_I2C : public U8G2 {
  13274. public: U8G2_ST75256_JLX256160M_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13275. u8g2_Setup_st75256_i2c_jlx256160m_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13276. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13277. }
  13278. };
  13279. #if defined U8G2_USE_HW_I2C
  13280. class U8G2_ST75256_JLX256160M_2_HW_I2C : public U8G2 {
  13281. public: U8G2_ST75256_JLX256160M_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13282. u8g2_Setup_st75256_i2c_jlx256160m_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13283. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13284. }
  13285. };
  13286. #endif
  13287. class U8G2_ST75256_JLX256160_ALT_2_SW_I2C : public U8G2 {
  13288. public: U8G2_ST75256_JLX256160_ALT_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13289. u8g2_Setup_st75256_i2c_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13290. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13291. }
  13292. };
  13293. #if defined U8G2_USE_HW_I2C
  13294. class U8G2_ST75256_JLX256160_ALT_2_HW_I2C : public U8G2 {
  13295. public: U8G2_ST75256_JLX256160_ALT_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13296. u8g2_Setup_st75256_i2c_jlx256160_alt_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13297. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13298. }
  13299. };
  13300. #endif
  13301. class U8G2_ST75256_JLX256160_F_SW_I2C : public U8G2 {
  13302. public: U8G2_ST75256_JLX256160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13303. u8g2_Setup_st75256_i2c_jlx256160_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13304. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13305. }
  13306. };
  13307. #if defined U8G2_USE_HW_I2C
  13308. class U8G2_ST75256_JLX256160_F_HW_I2C : public U8G2 {
  13309. public: U8G2_ST75256_JLX256160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13310. u8g2_Setup_st75256_i2c_jlx256160_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13311. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13312. }
  13313. };
  13314. #endif
  13315. class U8G2_ST75256_JLX256160M_F_SW_I2C : public U8G2 {
  13316. public: U8G2_ST75256_JLX256160M_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13317. u8g2_Setup_st75256_i2c_jlx256160m_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13318. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13319. }
  13320. };
  13321. #if defined U8G2_USE_HW_I2C
  13322. class U8G2_ST75256_JLX256160M_F_HW_I2C : public U8G2 {
  13323. public: U8G2_ST75256_JLX256160M_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13324. u8g2_Setup_st75256_i2c_jlx256160m_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13325. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13326. }
  13327. };
  13328. #endif
  13329. class U8G2_ST75256_JLX256160_ALT_F_SW_I2C : public U8G2 {
  13330. public: U8G2_ST75256_JLX256160_ALT_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13331. u8g2_Setup_st75256_i2c_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13332. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13333. }
  13334. };
  13335. #if defined U8G2_USE_HW_I2C
  13336. class U8G2_ST75256_JLX256160_ALT_F_HW_I2C : public U8G2 {
  13337. public: U8G2_ST75256_JLX256160_ALT_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13338. u8g2_Setup_st75256_i2c_jlx256160_alt_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13339. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13340. }
  13341. };
  13342. #endif
  13343. class U8G2_ST75256_JLX240160_1_4W_SW_SPI : public U8G2 {
  13344. public: U8G2_ST75256_JLX240160_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13345. u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13346. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13347. }
  13348. };
  13349. #if defined U8G2_USE_HW_SPI
  13350. class U8G2_ST75256_JLX240160_1_4W_HW_SPI : public U8G2 {
  13351. public: U8G2_ST75256_JLX240160_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13352. u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13353. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13354. }
  13355. };
  13356. #endif
  13357. class U8G2_ST75256_JLX240160_1_3W_SW_SPI : public U8G2 {
  13358. public: U8G2_ST75256_JLX240160_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13359. u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13360. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13361. }
  13362. };
  13363. class U8G2_ST75256_JLX240160_1_6800 : public U8G2 {
  13364. public: U8G2_ST75256_JLX240160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13365. u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13366. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13367. }
  13368. };
  13369. class U8G2_ST75256_JLX240160_1_8080 : public U8G2 {
  13370. public: U8G2_ST75256_JLX240160_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13371. u8g2_Setup_st75256_jlx240160_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13372. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13373. }
  13374. };
  13375. class U8G2_ST75256_JLX240160_2_4W_SW_SPI : public U8G2 {
  13376. public: U8G2_ST75256_JLX240160_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13377. u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13378. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13379. }
  13380. };
  13381. #if defined U8G2_USE_HW_SPI
  13382. class U8G2_ST75256_JLX240160_2_4W_HW_SPI : public U8G2 {
  13383. public: U8G2_ST75256_JLX240160_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13384. u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13385. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13386. }
  13387. };
  13388. #endif
  13389. class U8G2_ST75256_JLX240160_2_3W_SW_SPI : public U8G2 {
  13390. public: U8G2_ST75256_JLX240160_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13391. u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13392. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13393. }
  13394. };
  13395. class U8G2_ST75256_JLX240160_2_6800 : public U8G2 {
  13396. public: U8G2_ST75256_JLX240160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13397. u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13398. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13399. }
  13400. };
  13401. class U8G2_ST75256_JLX240160_2_8080 : public U8G2 {
  13402. public: U8G2_ST75256_JLX240160_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13403. u8g2_Setup_st75256_jlx240160_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13404. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13405. }
  13406. };
  13407. class U8G2_ST75256_JLX240160_F_4W_SW_SPI : public U8G2 {
  13408. public: U8G2_ST75256_JLX240160_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13409. u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13410. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13411. }
  13412. };
  13413. #if defined U8G2_USE_HW_SPI
  13414. class U8G2_ST75256_JLX240160_F_4W_HW_SPI : public U8G2 {
  13415. public: U8G2_ST75256_JLX240160_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13416. u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13417. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13418. }
  13419. };
  13420. #endif
  13421. class U8G2_ST75256_JLX240160_F_3W_SW_SPI : public U8G2 {
  13422. public: U8G2_ST75256_JLX240160_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13423. u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13424. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13425. }
  13426. };
  13427. class U8G2_ST75256_JLX240160_F_6800 : public U8G2 {
  13428. public: U8G2_ST75256_JLX240160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13429. u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13430. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13431. }
  13432. };
  13433. class U8G2_ST75256_JLX240160_F_8080 : public U8G2 {
  13434. public: U8G2_ST75256_JLX240160_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13435. u8g2_Setup_st75256_jlx240160_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13436. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13437. }
  13438. };
  13439. class U8G2_ST75256_JLX240160_1_SW_I2C : public U8G2 {
  13440. public: U8G2_ST75256_JLX240160_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13441. u8g2_Setup_st75256_i2c_jlx240160_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13442. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13443. }
  13444. };
  13445. #if defined U8G2_USE_HW_I2C
  13446. class U8G2_ST75256_JLX240160_1_HW_I2C : public U8G2 {
  13447. public: U8G2_ST75256_JLX240160_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13448. u8g2_Setup_st75256_i2c_jlx240160_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13449. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13450. }
  13451. };
  13452. #endif
  13453. class U8G2_ST75256_JLX240160_2_SW_I2C : public U8G2 {
  13454. public: U8G2_ST75256_JLX240160_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13455. u8g2_Setup_st75256_i2c_jlx240160_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13456. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13457. }
  13458. };
  13459. #if defined U8G2_USE_HW_I2C
  13460. class U8G2_ST75256_JLX240160_2_HW_I2C : public U8G2 {
  13461. public: U8G2_ST75256_JLX240160_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13462. u8g2_Setup_st75256_i2c_jlx240160_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13463. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13464. }
  13465. };
  13466. #endif
  13467. class U8G2_ST75256_JLX240160_F_SW_I2C : public U8G2 {
  13468. public: U8G2_ST75256_JLX240160_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13469. u8g2_Setup_st75256_i2c_jlx240160_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13470. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13471. }
  13472. };
  13473. #if defined U8G2_USE_HW_I2C
  13474. class U8G2_ST75256_JLX240160_F_HW_I2C : public U8G2 {
  13475. public: U8G2_ST75256_JLX240160_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13476. u8g2_Setup_st75256_i2c_jlx240160_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13477. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13478. }
  13479. };
  13480. #endif
  13481. class U8G2_ST75256_JLX25664_1_4W_SW_SPI : public U8G2 {
  13482. public: U8G2_ST75256_JLX25664_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13483. u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13484. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13485. }
  13486. };
  13487. #if defined U8G2_USE_HW_SPI
  13488. class U8G2_ST75256_JLX25664_1_4W_HW_SPI : public U8G2 {
  13489. public: U8G2_ST75256_JLX25664_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13490. u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13491. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13492. }
  13493. };
  13494. #endif
  13495. class U8G2_ST75256_JLX25664_1_3W_SW_SPI : public U8G2 {
  13496. public: U8G2_ST75256_JLX25664_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13497. u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13498. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13499. }
  13500. };
  13501. class U8G2_ST75256_JLX25664_1_6800 : public U8G2 {
  13502. public: U8G2_ST75256_JLX25664_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13503. u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13504. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13505. }
  13506. };
  13507. class U8G2_ST75256_JLX25664_1_8080 : public U8G2 {
  13508. public: U8G2_ST75256_JLX25664_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13509. u8g2_Setup_st75256_jlx25664_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13510. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13511. }
  13512. };
  13513. class U8G2_ST75256_JLX25664_2_4W_SW_SPI : public U8G2 {
  13514. public: U8G2_ST75256_JLX25664_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13515. u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13516. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13517. }
  13518. };
  13519. #if defined U8G2_USE_HW_SPI
  13520. class U8G2_ST75256_JLX25664_2_4W_HW_SPI : public U8G2 {
  13521. public: U8G2_ST75256_JLX25664_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13522. u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13523. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13524. }
  13525. };
  13526. #endif
  13527. class U8G2_ST75256_JLX25664_2_3W_SW_SPI : public U8G2 {
  13528. public: U8G2_ST75256_JLX25664_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13529. u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13530. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13531. }
  13532. };
  13533. class U8G2_ST75256_JLX25664_2_6800 : public U8G2 {
  13534. public: U8G2_ST75256_JLX25664_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13535. u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13536. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13537. }
  13538. };
  13539. class U8G2_ST75256_JLX25664_2_8080 : public U8G2 {
  13540. public: U8G2_ST75256_JLX25664_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13541. u8g2_Setup_st75256_jlx25664_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13542. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13543. }
  13544. };
  13545. class U8G2_ST75256_JLX25664_F_4W_SW_SPI : public U8G2 {
  13546. public: U8G2_ST75256_JLX25664_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13547. u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13548. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13549. }
  13550. };
  13551. #if defined U8G2_USE_HW_SPI
  13552. class U8G2_ST75256_JLX25664_F_4W_HW_SPI : public U8G2 {
  13553. public: U8G2_ST75256_JLX25664_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13554. u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13555. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13556. }
  13557. };
  13558. #endif
  13559. class U8G2_ST75256_JLX25664_F_3W_SW_SPI : public U8G2 {
  13560. public: U8G2_ST75256_JLX25664_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13561. u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13562. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13563. }
  13564. };
  13565. class U8G2_ST75256_JLX25664_F_6800 : public U8G2 {
  13566. public: U8G2_ST75256_JLX25664_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13567. u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13568. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13569. }
  13570. };
  13571. class U8G2_ST75256_JLX25664_F_8080 : public U8G2 {
  13572. public: U8G2_ST75256_JLX25664_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13573. u8g2_Setup_st75256_jlx25664_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13574. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13575. }
  13576. };
  13577. class U8G2_ST75256_JLX25664_1_SW_I2C : public U8G2 {
  13578. public: U8G2_ST75256_JLX25664_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13579. u8g2_Setup_st75256_i2c_jlx25664_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13580. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13581. }
  13582. };
  13583. #if defined U8G2_USE_HW_I2C
  13584. class U8G2_ST75256_JLX25664_1_HW_I2C : public U8G2 {
  13585. public: U8G2_ST75256_JLX25664_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13586. u8g2_Setup_st75256_i2c_jlx25664_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13587. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13588. }
  13589. };
  13590. #endif
  13591. class U8G2_ST75256_JLX25664_2_SW_I2C : public U8G2 {
  13592. public: U8G2_ST75256_JLX25664_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13593. u8g2_Setup_st75256_i2c_jlx25664_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13594. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13595. }
  13596. };
  13597. #if defined U8G2_USE_HW_I2C
  13598. class U8G2_ST75256_JLX25664_2_HW_I2C : public U8G2 {
  13599. public: U8G2_ST75256_JLX25664_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13600. u8g2_Setup_st75256_i2c_jlx25664_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13601. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13602. }
  13603. };
  13604. #endif
  13605. class U8G2_ST75256_JLX25664_F_SW_I2C : public U8G2 {
  13606. public: U8G2_ST75256_JLX25664_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13607. u8g2_Setup_st75256_i2c_jlx25664_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13608. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13609. }
  13610. };
  13611. #if defined U8G2_USE_HW_I2C
  13612. class U8G2_ST75256_JLX25664_F_HW_I2C : public U8G2 {
  13613. public: U8G2_ST75256_JLX25664_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13614. u8g2_Setup_st75256_i2c_jlx25664_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13615. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13616. }
  13617. };
  13618. #endif
  13619. class U8G2_ST75256_JLX172104_1_4W_SW_SPI : public U8G2 {
  13620. public: U8G2_ST75256_JLX172104_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13621. u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13622. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13623. }
  13624. };
  13625. #if defined U8G2_USE_HW_SPI
  13626. class U8G2_ST75256_JLX172104_1_4W_HW_SPI : public U8G2 {
  13627. public: U8G2_ST75256_JLX172104_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13628. u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13629. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13630. }
  13631. };
  13632. #endif
  13633. class U8G2_ST75256_JLX172104_1_3W_SW_SPI : public U8G2 {
  13634. public: U8G2_ST75256_JLX172104_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13635. u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13636. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13637. }
  13638. };
  13639. class U8G2_ST75256_JLX172104_1_6800 : public U8G2 {
  13640. public: U8G2_ST75256_JLX172104_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13641. u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13642. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13643. }
  13644. };
  13645. class U8G2_ST75256_JLX172104_1_8080 : public U8G2 {
  13646. public: U8G2_ST75256_JLX172104_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13647. u8g2_Setup_st75256_jlx172104_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13648. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13649. }
  13650. };
  13651. class U8G2_ST75256_JLX172104_2_4W_SW_SPI : public U8G2 {
  13652. public: U8G2_ST75256_JLX172104_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13653. u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13654. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13655. }
  13656. };
  13657. #if defined U8G2_USE_HW_SPI
  13658. class U8G2_ST75256_JLX172104_2_4W_HW_SPI : public U8G2 {
  13659. public: U8G2_ST75256_JLX172104_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13660. u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13661. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13662. }
  13663. };
  13664. #endif
  13665. class U8G2_ST75256_JLX172104_2_3W_SW_SPI : public U8G2 {
  13666. public: U8G2_ST75256_JLX172104_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13667. u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13668. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13669. }
  13670. };
  13671. class U8G2_ST75256_JLX172104_2_6800 : public U8G2 {
  13672. public: U8G2_ST75256_JLX172104_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13673. u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13674. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13675. }
  13676. };
  13677. class U8G2_ST75256_JLX172104_2_8080 : public U8G2 {
  13678. public: U8G2_ST75256_JLX172104_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13679. u8g2_Setup_st75256_jlx172104_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13680. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13681. }
  13682. };
  13683. class U8G2_ST75256_JLX172104_F_4W_SW_SPI : public U8G2 {
  13684. public: U8G2_ST75256_JLX172104_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13685. u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13686. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13687. }
  13688. };
  13689. #if defined U8G2_USE_HW_SPI
  13690. class U8G2_ST75256_JLX172104_F_4W_HW_SPI : public U8G2 {
  13691. public: U8G2_ST75256_JLX172104_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13692. u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13693. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13694. }
  13695. };
  13696. #endif
  13697. class U8G2_ST75256_JLX172104_F_3W_SW_SPI : public U8G2 {
  13698. public: U8G2_ST75256_JLX172104_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13699. u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13700. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13701. }
  13702. };
  13703. class U8G2_ST75256_JLX172104_F_6800 : public U8G2 {
  13704. public: U8G2_ST75256_JLX172104_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13705. u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13706. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13707. }
  13708. };
  13709. class U8G2_ST75256_JLX172104_F_8080 : public U8G2 {
  13710. public: U8G2_ST75256_JLX172104_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13711. u8g2_Setup_st75256_jlx172104_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13712. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13713. }
  13714. };
  13715. class U8G2_ST75256_JLX172104_1_SW_I2C : public U8G2 {
  13716. public: U8G2_ST75256_JLX172104_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13717. u8g2_Setup_st75256_i2c_jlx172104_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13718. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13719. }
  13720. };
  13721. #if defined U8G2_USE_HW_I2C
  13722. class U8G2_ST75256_JLX172104_1_HW_I2C : public U8G2 {
  13723. public: U8G2_ST75256_JLX172104_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13724. u8g2_Setup_st75256_i2c_jlx172104_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13725. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13726. }
  13727. };
  13728. #endif
  13729. class U8G2_ST75256_JLX172104_2_SW_I2C : public U8G2 {
  13730. public: U8G2_ST75256_JLX172104_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13731. u8g2_Setup_st75256_i2c_jlx172104_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13732. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13733. }
  13734. };
  13735. #if defined U8G2_USE_HW_I2C
  13736. class U8G2_ST75256_JLX172104_2_HW_I2C : public U8G2 {
  13737. public: U8G2_ST75256_JLX172104_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13738. u8g2_Setup_st75256_i2c_jlx172104_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13739. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13740. }
  13741. };
  13742. #endif
  13743. class U8G2_ST75256_JLX172104_F_SW_I2C : public U8G2 {
  13744. public: U8G2_ST75256_JLX172104_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13745. u8g2_Setup_st75256_i2c_jlx172104_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13746. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13747. }
  13748. };
  13749. #if defined U8G2_USE_HW_I2C
  13750. class U8G2_ST75256_JLX172104_F_HW_I2C : public U8G2 {
  13751. public: U8G2_ST75256_JLX172104_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13752. u8g2_Setup_st75256_i2c_jlx172104_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13753. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13754. }
  13755. };
  13756. #endif
  13757. class U8G2_ST75256_JLX19296_1_4W_SW_SPI : public U8G2 {
  13758. public: U8G2_ST75256_JLX19296_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13759. u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13760. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13761. }
  13762. };
  13763. #if defined U8G2_USE_HW_SPI
  13764. class U8G2_ST75256_JLX19296_1_4W_HW_SPI : public U8G2 {
  13765. public: U8G2_ST75256_JLX19296_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13766. u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13767. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13768. }
  13769. };
  13770. #endif
  13771. class U8G2_ST75256_JLX19296_1_3W_SW_SPI : public U8G2 {
  13772. public: U8G2_ST75256_JLX19296_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13773. u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13774. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13775. }
  13776. };
  13777. class U8G2_ST75256_JLX19296_1_6800 : public U8G2 {
  13778. public: U8G2_ST75256_JLX19296_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13779. u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13780. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13781. }
  13782. };
  13783. class U8G2_ST75256_JLX19296_1_8080 : public U8G2 {
  13784. public: U8G2_ST75256_JLX19296_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13785. u8g2_Setup_st75256_jlx19296_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13786. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13787. }
  13788. };
  13789. class U8G2_ST75256_JLX19296_2_4W_SW_SPI : public U8G2 {
  13790. public: U8G2_ST75256_JLX19296_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13791. u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13792. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13793. }
  13794. };
  13795. #if defined U8G2_USE_HW_SPI
  13796. class U8G2_ST75256_JLX19296_2_4W_HW_SPI : public U8G2 {
  13797. public: U8G2_ST75256_JLX19296_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13798. u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13799. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13800. }
  13801. };
  13802. #endif
  13803. class U8G2_ST75256_JLX19296_2_3W_SW_SPI : public U8G2 {
  13804. public: U8G2_ST75256_JLX19296_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13805. u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13806. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13807. }
  13808. };
  13809. class U8G2_ST75256_JLX19296_2_6800 : public U8G2 {
  13810. public: U8G2_ST75256_JLX19296_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13811. u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13812. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13813. }
  13814. };
  13815. class U8G2_ST75256_JLX19296_2_8080 : public U8G2 {
  13816. public: U8G2_ST75256_JLX19296_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13817. u8g2_Setup_st75256_jlx19296_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13818. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13819. }
  13820. };
  13821. class U8G2_ST75256_JLX19296_F_4W_SW_SPI : public U8G2 {
  13822. public: U8G2_ST75256_JLX19296_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13823. u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13824. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13825. }
  13826. };
  13827. #if defined U8G2_USE_HW_SPI
  13828. class U8G2_ST75256_JLX19296_F_4W_HW_SPI : public U8G2 {
  13829. public: U8G2_ST75256_JLX19296_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13830. u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13831. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13832. }
  13833. };
  13834. #endif
  13835. class U8G2_ST75256_JLX19296_F_3W_SW_SPI : public U8G2 {
  13836. public: U8G2_ST75256_JLX19296_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13837. u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13838. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13839. }
  13840. };
  13841. class U8G2_ST75256_JLX19296_F_6800 : public U8G2 {
  13842. public: U8G2_ST75256_JLX19296_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13843. u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13844. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13845. }
  13846. };
  13847. class U8G2_ST75256_JLX19296_F_8080 : public U8G2 {
  13848. public: U8G2_ST75256_JLX19296_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13849. u8g2_Setup_st75256_jlx19296_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13850. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13851. }
  13852. };
  13853. class U8G2_ST75256_JLX19296_1_SW_I2C : public U8G2 {
  13854. public: U8G2_ST75256_JLX19296_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13855. u8g2_Setup_st75256_i2c_jlx19296_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13856. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13857. }
  13858. };
  13859. #if defined U8G2_USE_HW_I2C
  13860. class U8G2_ST75256_JLX19296_1_HW_I2C : public U8G2 {
  13861. public: U8G2_ST75256_JLX19296_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13862. u8g2_Setup_st75256_i2c_jlx19296_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13863. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13864. }
  13865. };
  13866. #endif
  13867. class U8G2_ST75256_JLX19296_2_SW_I2C : public U8G2 {
  13868. public: U8G2_ST75256_JLX19296_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13869. u8g2_Setup_st75256_i2c_jlx19296_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13870. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13871. }
  13872. };
  13873. #if defined U8G2_USE_HW_I2C
  13874. class U8G2_ST75256_JLX19296_2_HW_I2C : public U8G2 {
  13875. public: U8G2_ST75256_JLX19296_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13876. u8g2_Setup_st75256_i2c_jlx19296_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13877. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13878. }
  13879. };
  13880. #endif
  13881. class U8G2_ST75256_JLX19296_F_SW_I2C : public U8G2 {
  13882. public: U8G2_ST75256_JLX19296_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13883. u8g2_Setup_st75256_i2c_jlx19296_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13884. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13885. }
  13886. };
  13887. #if defined U8G2_USE_HW_I2C
  13888. class U8G2_ST75256_JLX19296_F_HW_I2C : public U8G2 {
  13889. public: U8G2_ST75256_JLX19296_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  13890. u8g2_Setup_st75256_i2c_jlx19296_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  13891. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  13892. }
  13893. };
  13894. #endif
  13895. class U8G2_ST75320_JLX320240_1_4W_SW_SPI : public U8G2 {
  13896. public: U8G2_ST75320_JLX320240_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13897. u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13898. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13899. }
  13900. };
  13901. #if defined U8G2_USE_HW_SPI
  13902. class U8G2_ST75320_JLX320240_1_4W_HW_SPI : public U8G2 {
  13903. public: U8G2_ST75320_JLX320240_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13904. u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13905. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13906. }
  13907. };
  13908. #endif
  13909. class U8G2_ST75320_JLX320240_1_3W_SW_SPI : public U8G2 {
  13910. public: U8G2_ST75320_JLX320240_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13911. u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13912. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13913. }
  13914. };
  13915. class U8G2_ST75320_JLX320240_1_6800 : public U8G2 {
  13916. public: U8G2_ST75320_JLX320240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13917. u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13918. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13919. }
  13920. };
  13921. class U8G2_ST75320_JLX320240_1_8080 : public U8G2 {
  13922. public: U8G2_ST75320_JLX320240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13923. u8g2_Setup_st75320_jlx320240_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13924. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13925. }
  13926. };
  13927. class U8G2_ST75320_JLX320240_2_4W_SW_SPI : public U8G2 {
  13928. public: U8G2_ST75320_JLX320240_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13929. u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13930. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13931. }
  13932. };
  13933. #if defined U8G2_USE_HW_SPI
  13934. class U8G2_ST75320_JLX320240_2_4W_HW_SPI : public U8G2 {
  13935. public: U8G2_ST75320_JLX320240_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13936. u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13937. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13938. }
  13939. };
  13940. #endif
  13941. class U8G2_ST75320_JLX320240_2_3W_SW_SPI : public U8G2 {
  13942. public: U8G2_ST75320_JLX320240_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13943. u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13944. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13945. }
  13946. };
  13947. class U8G2_ST75320_JLX320240_2_6800 : public U8G2 {
  13948. public: U8G2_ST75320_JLX320240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13949. u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13950. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13951. }
  13952. };
  13953. class U8G2_ST75320_JLX320240_2_8080 : public U8G2 {
  13954. public: U8G2_ST75320_JLX320240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13955. u8g2_Setup_st75320_jlx320240_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13956. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13957. }
  13958. };
  13959. class U8G2_ST75320_JLX320240_F_4W_SW_SPI : public U8G2 {
  13960. public: U8G2_ST75320_JLX320240_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13961. u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13962. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  13963. }
  13964. };
  13965. #if defined U8G2_USE_HW_SPI
  13966. class U8G2_ST75320_JLX320240_F_4W_HW_SPI : public U8G2 {
  13967. public: U8G2_ST75320_JLX320240_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13968. u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  13969. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  13970. }
  13971. };
  13972. #endif
  13973. class U8G2_ST75320_JLX320240_F_3W_SW_SPI : public U8G2 {
  13974. public: U8G2_ST75320_JLX320240_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13975. u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  13976. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  13977. }
  13978. };
  13979. class U8G2_ST75320_JLX320240_F_6800 : public U8G2 {
  13980. public: U8G2_ST75320_JLX320240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13981. u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  13982. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13983. }
  13984. };
  13985. class U8G2_ST75320_JLX320240_F_8080 : public U8G2 {
  13986. public: U8G2_ST75320_JLX320240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13987. u8g2_Setup_st75320_jlx320240_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  13988. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  13989. }
  13990. };
  13991. class U8G2_ST75320_JLX320240_1_SW_I2C : public U8G2 {
  13992. public: U8G2_ST75320_JLX320240_1_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  13993. u8g2_Setup_st75320_i2c_jlx320240_1(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  13994. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  13995. }
  13996. };
  13997. #if defined U8G2_USE_HW_I2C
  13998. class U8G2_ST75320_JLX320240_1_HW_I2C : public U8G2 {
  13999. public: U8G2_ST75320_JLX320240_1_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  14000. u8g2_Setup_st75320_i2c_jlx320240_1(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  14001. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  14002. }
  14003. };
  14004. #endif
  14005. class U8G2_ST75320_JLX320240_2_SW_I2C : public U8G2 {
  14006. public: U8G2_ST75320_JLX320240_2_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14007. u8g2_Setup_st75320_i2c_jlx320240_2(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  14008. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  14009. }
  14010. };
  14011. #if defined U8G2_USE_HW_I2C
  14012. class U8G2_ST75320_JLX320240_2_HW_I2C : public U8G2 {
  14013. public: U8G2_ST75320_JLX320240_2_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  14014. u8g2_Setup_st75320_i2c_jlx320240_2(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  14015. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  14016. }
  14017. };
  14018. #endif
  14019. class U8G2_ST75320_JLX320240_F_SW_I2C : public U8G2 {
  14020. public: U8G2_ST75320_JLX320240_F_SW_I2C(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14021. u8g2_Setup_st75320_i2c_jlx320240_f(&u8g2, rotation, u8x8_byte_sw_i2c, u8x8_gpio_and_delay_rtthread);
  14022. u8x8_SetPin_SW_I2C(getU8x8(), clock, data, reset);
  14023. }
  14024. };
  14025. #if defined U8G2_USE_HW_I2C
  14026. class U8G2_ST75320_JLX320240_F_HW_I2C : public U8G2 {
  14027. public: U8G2_ST75320_JLX320240_F_HW_I2C(const u8g2_cb_t *rotation, uint8_t reset = U8X8_PIN_NONE, uint8_t clock = U8X8_PIN_NONE, uint8_t data = U8X8_PIN_NONE) : U8G2() {
  14028. u8g2_Setup_st75320_i2c_jlx320240_f(&u8g2, rotation, u8x8_byte_rtthread_hw_i2c, u8x8_gpio_and_delay_rtthread);
  14029. u8x8_SetPin_HW_I2C(getU8x8(), reset, clock, data);
  14030. }
  14031. };
  14032. #endif
  14033. class U8G2_NT7534_TG12864R_1_4W_SW_SPI : public U8G2 {
  14034. public: U8G2_NT7534_TG12864R_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14035. u8g2_Setup_nt7534_tg12864r_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14036. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14037. }
  14038. };
  14039. #if defined U8G2_USE_HW_SPI
  14040. class U8G2_NT7534_TG12864R_1_4W_HW_SPI : public U8G2 {
  14041. public: U8G2_NT7534_TG12864R_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14042. u8g2_Setup_nt7534_tg12864r_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14043. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14044. }
  14045. };
  14046. #endif
  14047. class U8G2_NT7534_TG12864R_1_6800 : public U8G2 {
  14048. public: U8G2_NT7534_TG12864R_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14049. u8g2_Setup_nt7534_tg12864r_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14050. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14051. }
  14052. };
  14053. class U8G2_NT7534_TG12864R_1_8080 : public U8G2 {
  14054. public: U8G2_NT7534_TG12864R_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14055. u8g2_Setup_nt7534_tg12864r_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14056. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14057. }
  14058. };
  14059. class U8G2_NT7534_TG12864R_2_4W_SW_SPI : public U8G2 {
  14060. public: U8G2_NT7534_TG12864R_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14061. u8g2_Setup_nt7534_tg12864r_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14062. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14063. }
  14064. };
  14065. #if defined U8G2_USE_HW_SPI
  14066. class U8G2_NT7534_TG12864R_2_4W_HW_SPI : public U8G2 {
  14067. public: U8G2_NT7534_TG12864R_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14068. u8g2_Setup_nt7534_tg12864r_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14069. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14070. }
  14071. };
  14072. #endif
  14073. class U8G2_NT7534_TG12864R_2_6800 : public U8G2 {
  14074. public: U8G2_NT7534_TG12864R_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14075. u8g2_Setup_nt7534_tg12864r_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14076. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14077. }
  14078. };
  14079. class U8G2_NT7534_TG12864R_2_8080 : public U8G2 {
  14080. public: U8G2_NT7534_TG12864R_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14081. u8g2_Setup_nt7534_tg12864r_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14082. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14083. }
  14084. };
  14085. class U8G2_NT7534_TG12864R_F_4W_SW_SPI : public U8G2 {
  14086. public: U8G2_NT7534_TG12864R_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14087. u8g2_Setup_nt7534_tg12864r_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14088. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14089. }
  14090. };
  14091. #if defined U8G2_USE_HW_SPI
  14092. class U8G2_NT7534_TG12864R_F_4W_HW_SPI : public U8G2 {
  14093. public: U8G2_NT7534_TG12864R_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14094. u8g2_Setup_nt7534_tg12864r_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14095. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14096. }
  14097. };
  14098. #endif
  14099. class U8G2_NT7534_TG12864R_F_6800 : public U8G2 {
  14100. public: U8G2_NT7534_TG12864R_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14101. u8g2_Setup_nt7534_tg12864r_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14102. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14103. }
  14104. };
  14105. class U8G2_NT7534_TG12864R_F_8080 : public U8G2 {
  14106. public: U8G2_NT7534_TG12864R_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14107. u8g2_Setup_nt7534_tg12864r_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14108. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14109. }
  14110. };
  14111. class U8G2_IST3020_ERC19264_1_4W_SW_SPI : public U8G2 {
  14112. public: U8G2_IST3020_ERC19264_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14113. u8g2_Setup_ist3020_erc19264_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14114. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14115. }
  14116. };
  14117. #if defined U8G2_USE_HW_SPI
  14118. class U8G2_IST3020_ERC19264_1_4W_HW_SPI : public U8G2 {
  14119. public: U8G2_IST3020_ERC19264_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14120. u8g2_Setup_ist3020_erc19264_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14121. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14122. }
  14123. };
  14124. #endif
  14125. class U8G2_IST3020_ERC19264_1_6800 : public U8G2 {
  14126. public: U8G2_IST3020_ERC19264_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14127. u8g2_Setup_ist3020_erc19264_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14128. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14129. }
  14130. };
  14131. class U8G2_IST3020_ERC19264_1_8080 : public U8G2 {
  14132. public: U8G2_IST3020_ERC19264_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14133. u8g2_Setup_ist3020_erc19264_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14134. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14135. }
  14136. };
  14137. class U8G2_IST3020_ERC19264_2_4W_SW_SPI : public U8G2 {
  14138. public: U8G2_IST3020_ERC19264_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14139. u8g2_Setup_ist3020_erc19264_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14140. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14141. }
  14142. };
  14143. #if defined U8G2_USE_HW_SPI
  14144. class U8G2_IST3020_ERC19264_2_4W_HW_SPI : public U8G2 {
  14145. public: U8G2_IST3020_ERC19264_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14146. u8g2_Setup_ist3020_erc19264_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14147. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14148. }
  14149. };
  14150. #endif
  14151. class U8G2_IST3020_ERC19264_2_6800 : public U8G2 {
  14152. public: U8G2_IST3020_ERC19264_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14153. u8g2_Setup_ist3020_erc19264_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14154. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14155. }
  14156. };
  14157. class U8G2_IST3020_ERC19264_2_8080 : public U8G2 {
  14158. public: U8G2_IST3020_ERC19264_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14159. u8g2_Setup_ist3020_erc19264_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14160. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14161. }
  14162. };
  14163. class U8G2_IST3020_ERC19264_F_4W_SW_SPI : public U8G2 {
  14164. public: U8G2_IST3020_ERC19264_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14165. u8g2_Setup_ist3020_erc19264_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14166. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14167. }
  14168. };
  14169. #if defined U8G2_USE_HW_SPI
  14170. class U8G2_IST3020_ERC19264_F_4W_HW_SPI : public U8G2 {
  14171. public: U8G2_IST3020_ERC19264_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14172. u8g2_Setup_ist3020_erc19264_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14173. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14174. }
  14175. };
  14176. #endif
  14177. class U8G2_IST3020_ERC19264_F_6800 : public U8G2 {
  14178. public: U8G2_IST3020_ERC19264_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14179. u8g2_Setup_ist3020_erc19264_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14180. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14181. }
  14182. };
  14183. class U8G2_IST3020_ERC19264_F_8080 : public U8G2 {
  14184. public: U8G2_IST3020_ERC19264_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14185. u8g2_Setup_ist3020_erc19264_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14186. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14187. }
  14188. };
  14189. class U8G2_IST7920_128X128_1_4W_SW_SPI : public U8G2 {
  14190. public: U8G2_IST7920_128X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14191. u8g2_Setup_ist7920_128x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14192. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14193. }
  14194. };
  14195. #if defined U8G2_USE_HW_SPI
  14196. class U8G2_IST7920_128X128_1_4W_HW_SPI : public U8G2 {
  14197. public: U8G2_IST7920_128X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14198. u8g2_Setup_ist7920_128x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14199. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14200. }
  14201. };
  14202. #endif
  14203. class U8G2_IST7920_128X128_1_6800 : public U8G2 {
  14204. public: U8G2_IST7920_128X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14205. u8g2_Setup_ist7920_128x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14206. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14207. }
  14208. };
  14209. class U8G2_IST7920_128X128_1_8080 : public U8G2 {
  14210. public: U8G2_IST7920_128X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14211. u8g2_Setup_ist7920_128x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14212. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14213. }
  14214. };
  14215. class U8G2_IST7920_128X128_2_4W_SW_SPI : public U8G2 {
  14216. public: U8G2_IST7920_128X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14217. u8g2_Setup_ist7920_128x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14218. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14219. }
  14220. };
  14221. #if defined U8G2_USE_HW_SPI
  14222. class U8G2_IST7920_128X128_2_4W_HW_SPI : public U8G2 {
  14223. public: U8G2_IST7920_128X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14224. u8g2_Setup_ist7920_128x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14225. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14226. }
  14227. };
  14228. #endif
  14229. class U8G2_IST7920_128X128_2_6800 : public U8G2 {
  14230. public: U8G2_IST7920_128X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14231. u8g2_Setup_ist7920_128x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14232. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14233. }
  14234. };
  14235. class U8G2_IST7920_128X128_2_8080 : public U8G2 {
  14236. public: U8G2_IST7920_128X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14237. u8g2_Setup_ist7920_128x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14238. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14239. }
  14240. };
  14241. class U8G2_IST7920_128X128_F_4W_SW_SPI : public U8G2 {
  14242. public: U8G2_IST7920_128X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14243. u8g2_Setup_ist7920_128x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14244. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14245. }
  14246. };
  14247. #if defined U8G2_USE_HW_SPI
  14248. class U8G2_IST7920_128X128_F_4W_HW_SPI : public U8G2 {
  14249. public: U8G2_IST7920_128X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14250. u8g2_Setup_ist7920_128x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14251. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14252. }
  14253. };
  14254. #endif
  14255. class U8G2_IST7920_128X128_F_6800 : public U8G2 {
  14256. public: U8G2_IST7920_128X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14257. u8g2_Setup_ist7920_128x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14258. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14259. }
  14260. };
  14261. class U8G2_IST7920_128X128_F_8080 : public U8G2 {
  14262. public: U8G2_IST7920_128X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14263. u8g2_Setup_ist7920_128x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14264. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14265. }
  14266. };
  14267. class U8G2_SBN1661_122X32_1 : public U8G2 {
  14268. public: U8G2_SBN1661_122X32_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {
  14269. u8g2_Setup_sbn1661_122x32_1(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_rtthread);
  14270. u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);
  14271. }
  14272. };
  14273. class U8G2_SBN1661_122X32_2 : public U8G2 {
  14274. public: U8G2_SBN1661_122X32_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {
  14275. u8g2_Setup_sbn1661_122x32_2(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_rtthread);
  14276. u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);
  14277. }
  14278. };
  14279. class U8G2_SBN1661_122X32_F : public U8G2 {
  14280. public: U8G2_SBN1661_122X32_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {
  14281. u8g2_Setup_sbn1661_122x32_f(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_rtthread);
  14282. u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);
  14283. }
  14284. };
  14285. class U8G2_SED1520_122X32_1 : public U8G2 {
  14286. public: U8G2_SED1520_122X32_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {
  14287. u8g2_Setup_sed1520_122x32_1(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_rtthread);
  14288. u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);
  14289. }
  14290. };
  14291. class U8G2_SED1520_122X32_2 : public U8G2 {
  14292. public: U8G2_SED1520_122X32_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {
  14293. u8g2_Setup_sed1520_122x32_2(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_rtthread);
  14294. u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);
  14295. }
  14296. };
  14297. class U8G2_SED1520_122X32_F : public U8G2 {
  14298. public: U8G2_SED1520_122X32_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t dc, uint8_t e1, uint8_t e2, uint8_t reset) : U8G2() {
  14299. u8g2_Setup_sed1520_122x32_f(&u8g2, rotation, u8x8_byte_sed1520, u8x8_gpio_and_delay_rtthread);
  14300. u8x8_SetPin_SED1520(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, dc, e1, e2, reset);
  14301. }
  14302. };
  14303. class U8G2_KS0108_128X64_1 : public U8G2 {
  14304. public: U8G2_KS0108_128X64_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14305. u8g2_Setup_ks0108_128x64_1(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14306. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14307. }
  14308. };
  14309. class U8G2_KS0108_128X64_2 : public U8G2 {
  14310. public: U8G2_KS0108_128X64_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14311. u8g2_Setup_ks0108_128x64_2(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14312. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14313. }
  14314. };
  14315. class U8G2_KS0108_128X64_F : public U8G2 {
  14316. public: U8G2_KS0108_128X64_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14317. u8g2_Setup_ks0108_128x64_f(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14318. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14319. }
  14320. };
  14321. class U8G2_KS0108_ERM19264_1 : public U8G2 {
  14322. public: U8G2_KS0108_ERM19264_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14323. u8g2_Setup_ks0108_erm19264_1(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14324. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14325. }
  14326. };
  14327. class U8G2_KS0108_ERM19264_2 : public U8G2 {
  14328. public: U8G2_KS0108_ERM19264_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14329. u8g2_Setup_ks0108_erm19264_2(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14330. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14331. }
  14332. };
  14333. class U8G2_KS0108_ERM19264_F : public U8G2 {
  14334. public: U8G2_KS0108_ERM19264_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14335. u8g2_Setup_ks0108_erm19264_f(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14336. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14337. }
  14338. };
  14339. class U8G2_T7932_150X32_1 : public U8G2 {
  14340. public: U8G2_T7932_150X32_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14341. u8g2_Setup_t7932_150x32_1(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14342. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14343. }
  14344. };
  14345. class U8G2_T7932_150X32_2 : public U8G2 {
  14346. public: U8G2_T7932_150X32_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14347. u8g2_Setup_t7932_150x32_2(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14348. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14349. }
  14350. };
  14351. class U8G2_T7932_150X32_F : public U8G2 {
  14352. public: U8G2_T7932_150X32_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14353. u8g2_Setup_t7932_150x32_f(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14354. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14355. }
  14356. };
  14357. class U8G2_HD44102_100X64_1 : public U8G2 {
  14358. public: U8G2_HD44102_100X64_1(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14359. u8g2_Setup_hd44102_100x64_1(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14360. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14361. }
  14362. };
  14363. class U8G2_HD44102_100X64_2 : public U8G2 {
  14364. public: U8G2_HD44102_100X64_2(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14365. u8g2_Setup_hd44102_100x64_2(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14366. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14367. }
  14368. };
  14369. class U8G2_HD44102_100X64_F : public U8G2 {
  14370. public: U8G2_HD44102_100X64_F(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t dc, uint8_t cs0, uint8_t cs1, uint8_t cs2, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14371. u8g2_Setup_hd44102_100x64_f(&u8g2, rotation, u8x8_byte_ks0108, u8x8_gpio_and_delay_rtthread);
  14372. u8x8_SetPin_KS0108(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, dc, cs0, cs1, cs2, reset);
  14373. }
  14374. };
  14375. class U8G2_LC7981_160X80_1_6800 : public U8G2 {
  14376. public: U8G2_LC7981_160X80_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14377. u8g2_Setup_lc7981_160x80_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14378. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14379. }
  14380. };
  14381. class U8G2_LC7981_160X80_2_6800 : public U8G2 {
  14382. public: U8G2_LC7981_160X80_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14383. u8g2_Setup_lc7981_160x80_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14384. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14385. }
  14386. };
  14387. class U8G2_LC7981_160X80_F_6800 : public U8G2 {
  14388. public: U8G2_LC7981_160X80_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14389. u8g2_Setup_lc7981_160x80_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14390. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14391. }
  14392. };
  14393. class U8G2_LC7981_160X160_1_6800 : public U8G2 {
  14394. public: U8G2_LC7981_160X160_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14395. u8g2_Setup_lc7981_160x160_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14396. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14397. }
  14398. };
  14399. class U8G2_LC7981_160X160_2_6800 : public U8G2 {
  14400. public: U8G2_LC7981_160X160_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14401. u8g2_Setup_lc7981_160x160_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14402. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14403. }
  14404. };
  14405. class U8G2_LC7981_160X160_F_6800 : public U8G2 {
  14406. public: U8G2_LC7981_160X160_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14407. u8g2_Setup_lc7981_160x160_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14408. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14409. }
  14410. };
  14411. class U8G2_LC7981_240X128_1_6800 : public U8G2 {
  14412. public: U8G2_LC7981_240X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14413. u8g2_Setup_lc7981_240x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14414. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14415. }
  14416. };
  14417. class U8G2_LC7981_240X128_2_6800 : public U8G2 {
  14418. public: U8G2_LC7981_240X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14419. u8g2_Setup_lc7981_240x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14420. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14421. }
  14422. };
  14423. class U8G2_LC7981_240X128_F_6800 : public U8G2 {
  14424. public: U8G2_LC7981_240X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14425. u8g2_Setup_lc7981_240x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14426. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14427. }
  14428. };
  14429. class U8G2_LC7981_240X64_1_6800 : public U8G2 {
  14430. public: U8G2_LC7981_240X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14431. u8g2_Setup_lc7981_240x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14432. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14433. }
  14434. };
  14435. class U8G2_LC7981_240X64_2_6800 : public U8G2 {
  14436. public: U8G2_LC7981_240X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14437. u8g2_Setup_lc7981_240x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14438. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14439. }
  14440. };
  14441. class U8G2_LC7981_240X64_F_6800 : public U8G2 {
  14442. public: U8G2_LC7981_240X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14443. u8g2_Setup_lc7981_240x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14444. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14445. }
  14446. };
  14447. class U8G2_T6963_240X128_1_8080 : public U8G2 {
  14448. public: U8G2_T6963_240X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14449. u8g2_Setup_t6963_240x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14450. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14451. }
  14452. };
  14453. class U8G2_T6963_240X128_2_8080 : public U8G2 {
  14454. public: U8G2_T6963_240X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14455. u8g2_Setup_t6963_240x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14456. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14457. }
  14458. };
  14459. class U8G2_T6963_240X128_F_8080 : public U8G2 {
  14460. public: U8G2_T6963_240X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14461. u8g2_Setup_t6963_240x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14462. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14463. }
  14464. };
  14465. class U8G2_T6963_240X64_1_8080 : public U8G2 {
  14466. public: U8G2_T6963_240X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14467. u8g2_Setup_t6963_240x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14468. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14469. }
  14470. };
  14471. class U8G2_T6963_240X64_2_8080 : public U8G2 {
  14472. public: U8G2_T6963_240X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14473. u8g2_Setup_t6963_240x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14474. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14475. }
  14476. };
  14477. class U8G2_T6963_240X64_F_8080 : public U8G2 {
  14478. public: U8G2_T6963_240X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14479. u8g2_Setup_t6963_240x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14480. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14481. }
  14482. };
  14483. class U8G2_T6963_256X64_1_8080 : public U8G2 {
  14484. public: U8G2_T6963_256X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14485. u8g2_Setup_t6963_256x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14486. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14487. }
  14488. };
  14489. class U8G2_T6963_256X64_2_8080 : public U8G2 {
  14490. public: U8G2_T6963_256X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14491. u8g2_Setup_t6963_256x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14492. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14493. }
  14494. };
  14495. class U8G2_T6963_256X64_F_8080 : public U8G2 {
  14496. public: U8G2_T6963_256X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14497. u8g2_Setup_t6963_256x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14498. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14499. }
  14500. };
  14501. class U8G2_T6963_128X64_1_8080 : public U8G2 {
  14502. public: U8G2_T6963_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14503. u8g2_Setup_t6963_128x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14504. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14505. }
  14506. };
  14507. class U8G2_T6963_128X64_ALT_1_8080 : public U8G2 {
  14508. public: U8G2_T6963_128X64_ALT_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14509. u8g2_Setup_t6963_128x64_alt_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14510. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14511. }
  14512. };
  14513. class U8G2_T6963_128X64_2_8080 : public U8G2 {
  14514. public: U8G2_T6963_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14515. u8g2_Setup_t6963_128x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14516. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14517. }
  14518. };
  14519. class U8G2_T6963_128X64_ALT_2_8080 : public U8G2 {
  14520. public: U8G2_T6963_128X64_ALT_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14521. u8g2_Setup_t6963_128x64_alt_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14522. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14523. }
  14524. };
  14525. class U8G2_T6963_128X64_F_8080 : public U8G2 {
  14526. public: U8G2_T6963_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14527. u8g2_Setup_t6963_128x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14528. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14529. }
  14530. };
  14531. class U8G2_T6963_128X64_ALT_F_8080 : public U8G2 {
  14532. public: U8G2_T6963_128X64_ALT_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14533. u8g2_Setup_t6963_128x64_alt_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14534. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14535. }
  14536. };
  14537. class U8G2_T6963_160X80_1_8080 : public U8G2 {
  14538. public: U8G2_T6963_160X80_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14539. u8g2_Setup_t6963_160x80_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14540. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14541. }
  14542. };
  14543. class U8G2_T6963_160X80_2_8080 : public U8G2 {
  14544. public: U8G2_T6963_160X80_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14545. u8g2_Setup_t6963_160x80_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14546. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14547. }
  14548. };
  14549. class U8G2_T6963_160X80_F_8080 : public U8G2 {
  14550. public: U8G2_T6963_160X80_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14551. u8g2_Setup_t6963_160x80_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14552. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14553. }
  14554. };
  14555. class U8G2_SSD1320_160X32_1_4W_SW_SPI : public U8G2 {
  14556. public: U8G2_SSD1320_160X32_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14557. u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14558. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14559. }
  14560. };
  14561. #if defined U8G2_USE_HW_SPI
  14562. class U8G2_SSD1320_160X32_1_4W_HW_SPI : public U8G2 {
  14563. public: U8G2_SSD1320_160X32_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14564. u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14565. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14566. }
  14567. };
  14568. #endif
  14569. class U8G2_SSD1320_160X32_1_3W_SW_SPI : public U8G2 {
  14570. public: U8G2_SSD1320_160X32_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14571. u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14572. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14573. }
  14574. };
  14575. class U8G2_SSD1320_160X32_1_6800 : public U8G2 {
  14576. public: U8G2_SSD1320_160X32_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14577. u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14578. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14579. }
  14580. };
  14581. class U8G2_SSD1320_160X32_1_8080 : public U8G2 {
  14582. public: U8G2_SSD1320_160X32_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14583. u8g2_Setup_ssd1320_160x32_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14584. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14585. }
  14586. };
  14587. class U8G2_SSD1320_160X32_2_4W_SW_SPI : public U8G2 {
  14588. public: U8G2_SSD1320_160X32_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14589. u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14590. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14591. }
  14592. };
  14593. #if defined U8G2_USE_HW_SPI
  14594. class U8G2_SSD1320_160X32_2_4W_HW_SPI : public U8G2 {
  14595. public: U8G2_SSD1320_160X32_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14596. u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14597. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14598. }
  14599. };
  14600. #endif
  14601. class U8G2_SSD1320_160X32_2_3W_SW_SPI : public U8G2 {
  14602. public: U8G2_SSD1320_160X32_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14603. u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14604. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14605. }
  14606. };
  14607. class U8G2_SSD1320_160X32_2_6800 : public U8G2 {
  14608. public: U8G2_SSD1320_160X32_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14609. u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14610. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14611. }
  14612. };
  14613. class U8G2_SSD1320_160X32_2_8080 : public U8G2 {
  14614. public: U8G2_SSD1320_160X32_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14615. u8g2_Setup_ssd1320_160x32_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14616. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14617. }
  14618. };
  14619. class U8G2_SSD1320_160X32_F_4W_SW_SPI : public U8G2 {
  14620. public: U8G2_SSD1320_160X32_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14621. u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14622. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14623. }
  14624. };
  14625. #if defined U8G2_USE_HW_SPI
  14626. class U8G2_SSD1320_160X32_F_4W_HW_SPI : public U8G2 {
  14627. public: U8G2_SSD1320_160X32_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14628. u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14629. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14630. }
  14631. };
  14632. #endif
  14633. class U8G2_SSD1320_160X32_F_3W_SW_SPI : public U8G2 {
  14634. public: U8G2_SSD1320_160X32_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14635. u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14636. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14637. }
  14638. };
  14639. class U8G2_SSD1320_160X32_F_6800 : public U8G2 {
  14640. public: U8G2_SSD1320_160X32_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14641. u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14642. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14643. }
  14644. };
  14645. class U8G2_SSD1320_160X32_F_8080 : public U8G2 {
  14646. public: U8G2_SSD1320_160X32_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14647. u8g2_Setup_ssd1320_160x32_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14648. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14649. }
  14650. };
  14651. class U8G2_SSD1320_160X132_1_4W_SW_SPI : public U8G2 {
  14652. public: U8G2_SSD1320_160X132_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14653. u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14654. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14655. }
  14656. };
  14657. #if defined U8G2_USE_HW_SPI
  14658. class U8G2_SSD1320_160X132_1_4W_HW_SPI : public U8G2 {
  14659. public: U8G2_SSD1320_160X132_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14660. u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14661. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14662. }
  14663. };
  14664. #endif
  14665. class U8G2_SSD1320_160X132_1_3W_SW_SPI : public U8G2 {
  14666. public: U8G2_SSD1320_160X132_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14667. u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14668. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14669. }
  14670. };
  14671. class U8G2_SSD1320_160X132_1_6800 : public U8G2 {
  14672. public: U8G2_SSD1320_160X132_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14673. u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14674. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14675. }
  14676. };
  14677. class U8G2_SSD1320_160X132_1_8080 : public U8G2 {
  14678. public: U8G2_SSD1320_160X132_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14679. u8g2_Setup_ssd1320_160x132_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14680. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14681. }
  14682. };
  14683. class U8G2_SSD1320_160X132_2_4W_SW_SPI : public U8G2 {
  14684. public: U8G2_SSD1320_160X132_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14685. u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14686. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14687. }
  14688. };
  14689. #if defined U8G2_USE_HW_SPI
  14690. class U8G2_SSD1320_160X132_2_4W_HW_SPI : public U8G2 {
  14691. public: U8G2_SSD1320_160X132_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14692. u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14693. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14694. }
  14695. };
  14696. #endif
  14697. class U8G2_SSD1320_160X132_2_3W_SW_SPI : public U8G2 {
  14698. public: U8G2_SSD1320_160X132_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14699. u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14700. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14701. }
  14702. };
  14703. class U8G2_SSD1320_160X132_2_6800 : public U8G2 {
  14704. public: U8G2_SSD1320_160X132_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14705. u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14706. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14707. }
  14708. };
  14709. class U8G2_SSD1320_160X132_2_8080 : public U8G2 {
  14710. public: U8G2_SSD1320_160X132_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14711. u8g2_Setup_ssd1320_160x132_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14712. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14713. }
  14714. };
  14715. class U8G2_SSD1320_160X132_F_4W_SW_SPI : public U8G2 {
  14716. public: U8G2_SSD1320_160X132_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14717. u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14718. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14719. }
  14720. };
  14721. #if defined U8G2_USE_HW_SPI
  14722. class U8G2_SSD1320_160X132_F_4W_HW_SPI : public U8G2 {
  14723. public: U8G2_SSD1320_160X132_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14724. u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14725. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14726. }
  14727. };
  14728. #endif
  14729. class U8G2_SSD1320_160X132_F_3W_SW_SPI : public U8G2 {
  14730. public: U8G2_SSD1320_160X132_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14731. u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14732. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14733. }
  14734. };
  14735. class U8G2_SSD1320_160X132_F_6800 : public U8G2 {
  14736. public: U8G2_SSD1320_160X132_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14737. u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14738. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14739. }
  14740. };
  14741. class U8G2_SSD1320_160X132_F_8080 : public U8G2 {
  14742. public: U8G2_SSD1320_160X132_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14743. u8g2_Setup_ssd1320_160x132_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14744. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14745. }
  14746. };
  14747. class U8G2_SSD1322_NHD_256X64_1_4W_SW_SPI : public U8G2 {
  14748. public: U8G2_SSD1322_NHD_256X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14749. u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14750. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14751. }
  14752. };
  14753. #if defined U8G2_USE_HW_SPI
  14754. class U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI : public U8G2 {
  14755. public: U8G2_SSD1322_NHD_256X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14756. u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14757. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14758. }
  14759. };
  14760. #endif
  14761. class U8G2_SSD1322_NHD_256X64_1_3W_SW_SPI : public U8G2 {
  14762. public: U8G2_SSD1322_NHD_256X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14763. u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14764. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14765. }
  14766. };
  14767. class U8G2_SSD1322_NHD_256X64_1_6800 : public U8G2 {
  14768. public: U8G2_SSD1322_NHD_256X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14769. u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14770. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14771. }
  14772. };
  14773. class U8G2_SSD1322_NHD_256X64_1_8080 : public U8G2 {
  14774. public: U8G2_SSD1322_NHD_256X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14775. u8g2_Setup_ssd1322_nhd_256x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14776. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14777. }
  14778. };
  14779. class U8G2_SSD1322_NHD_256X64_2_4W_SW_SPI : public U8G2 {
  14780. public: U8G2_SSD1322_NHD_256X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14781. u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14782. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14783. }
  14784. };
  14785. #if defined U8G2_USE_HW_SPI
  14786. class U8G2_SSD1322_NHD_256X64_2_4W_HW_SPI : public U8G2 {
  14787. public: U8G2_SSD1322_NHD_256X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14788. u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14789. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14790. }
  14791. };
  14792. #endif
  14793. class U8G2_SSD1322_NHD_256X64_2_3W_SW_SPI : public U8G2 {
  14794. public: U8G2_SSD1322_NHD_256X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14795. u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14796. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14797. }
  14798. };
  14799. class U8G2_SSD1322_NHD_256X64_2_6800 : public U8G2 {
  14800. public: U8G2_SSD1322_NHD_256X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14801. u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14802. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14803. }
  14804. };
  14805. class U8G2_SSD1322_NHD_256X64_2_8080 : public U8G2 {
  14806. public: U8G2_SSD1322_NHD_256X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14807. u8g2_Setup_ssd1322_nhd_256x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14808. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14809. }
  14810. };
  14811. class U8G2_SSD1322_NHD_256X64_F_4W_SW_SPI : public U8G2 {
  14812. public: U8G2_SSD1322_NHD_256X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14813. u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14814. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14815. }
  14816. };
  14817. #if defined U8G2_USE_HW_SPI
  14818. class U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI : public U8G2 {
  14819. public: U8G2_SSD1322_NHD_256X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14820. u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14821. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14822. }
  14823. };
  14824. #endif
  14825. class U8G2_SSD1322_NHD_256X64_F_3W_SW_SPI : public U8G2 {
  14826. public: U8G2_SSD1322_NHD_256X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14827. u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14828. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14829. }
  14830. };
  14831. class U8G2_SSD1322_NHD_256X64_F_6800 : public U8G2 {
  14832. public: U8G2_SSD1322_NHD_256X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14833. u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14834. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14835. }
  14836. };
  14837. class U8G2_SSD1322_NHD_256X64_F_8080 : public U8G2 {
  14838. public: U8G2_SSD1322_NHD_256X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14839. u8g2_Setup_ssd1322_nhd_256x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14840. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14841. }
  14842. };
  14843. class U8G2_SSD1322_NHD_128X64_1_4W_SW_SPI : public U8G2 {
  14844. public: U8G2_SSD1322_NHD_128X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14845. u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14846. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14847. }
  14848. };
  14849. #if defined U8G2_USE_HW_SPI
  14850. class U8G2_SSD1322_NHD_128X64_1_4W_HW_SPI : public U8G2 {
  14851. public: U8G2_SSD1322_NHD_128X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14852. u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14853. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14854. }
  14855. };
  14856. #endif
  14857. class U8G2_SSD1322_NHD_128X64_1_3W_SW_SPI : public U8G2 {
  14858. public: U8G2_SSD1322_NHD_128X64_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14859. u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14860. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14861. }
  14862. };
  14863. class U8G2_SSD1322_NHD_128X64_1_6800 : public U8G2 {
  14864. public: U8G2_SSD1322_NHD_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14865. u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14866. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14867. }
  14868. };
  14869. class U8G2_SSD1322_NHD_128X64_1_8080 : public U8G2 {
  14870. public: U8G2_SSD1322_NHD_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14871. u8g2_Setup_ssd1322_nhd_128x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14872. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14873. }
  14874. };
  14875. class U8G2_SSD1322_NHD_128X64_2_4W_SW_SPI : public U8G2 {
  14876. public: U8G2_SSD1322_NHD_128X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14877. u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14878. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14879. }
  14880. };
  14881. #if defined U8G2_USE_HW_SPI
  14882. class U8G2_SSD1322_NHD_128X64_2_4W_HW_SPI : public U8G2 {
  14883. public: U8G2_SSD1322_NHD_128X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14884. u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14885. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14886. }
  14887. };
  14888. #endif
  14889. class U8G2_SSD1322_NHD_128X64_2_3W_SW_SPI : public U8G2 {
  14890. public: U8G2_SSD1322_NHD_128X64_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14891. u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14892. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14893. }
  14894. };
  14895. class U8G2_SSD1322_NHD_128X64_2_6800 : public U8G2 {
  14896. public: U8G2_SSD1322_NHD_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14897. u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14898. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14899. }
  14900. };
  14901. class U8G2_SSD1322_NHD_128X64_2_8080 : public U8G2 {
  14902. public: U8G2_SSD1322_NHD_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14903. u8g2_Setup_ssd1322_nhd_128x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14904. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14905. }
  14906. };
  14907. class U8G2_SSD1322_NHD_128X64_F_4W_SW_SPI : public U8G2 {
  14908. public: U8G2_SSD1322_NHD_128X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14909. u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14910. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14911. }
  14912. };
  14913. #if defined U8G2_USE_HW_SPI
  14914. class U8G2_SSD1322_NHD_128X64_F_4W_HW_SPI : public U8G2 {
  14915. public: U8G2_SSD1322_NHD_128X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14916. u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14917. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14918. }
  14919. };
  14920. #endif
  14921. class U8G2_SSD1322_NHD_128X64_F_3W_SW_SPI : public U8G2 {
  14922. public: U8G2_SSD1322_NHD_128X64_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14923. u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14924. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14925. }
  14926. };
  14927. class U8G2_SSD1322_NHD_128X64_F_6800 : public U8G2 {
  14928. public: U8G2_SSD1322_NHD_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14929. u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  14930. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14931. }
  14932. };
  14933. class U8G2_SSD1322_NHD_128X64_F_8080 : public U8G2 {
  14934. public: U8G2_SSD1322_NHD_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14935. u8g2_Setup_ssd1322_nhd_128x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  14936. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  14937. }
  14938. };
  14939. class U8G2_SSD1606_172X72_1_4W_SW_SPI : public U8G2 {
  14940. public: U8G2_SSD1606_172X72_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14941. u8g2_Setup_ssd1606_172x72_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14942. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14943. }
  14944. };
  14945. #if defined U8G2_USE_HW_SPI
  14946. class U8G2_SSD1606_172X72_1_4W_HW_SPI : public U8G2 {
  14947. public: U8G2_SSD1606_172X72_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14948. u8g2_Setup_ssd1606_172x72_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14949. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14950. }
  14951. };
  14952. #endif
  14953. class U8G2_SSD1606_172X72_1_3W_SW_SPI : public U8G2 {
  14954. public: U8G2_SSD1606_172X72_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14955. u8g2_Setup_ssd1606_172x72_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14956. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14957. }
  14958. };
  14959. class U8G2_SSD1606_172X72_2_4W_SW_SPI : public U8G2 {
  14960. public: U8G2_SSD1606_172X72_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14961. u8g2_Setup_ssd1606_172x72_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14962. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14963. }
  14964. };
  14965. #if defined U8G2_USE_HW_SPI
  14966. class U8G2_SSD1606_172X72_2_4W_HW_SPI : public U8G2 {
  14967. public: U8G2_SSD1606_172X72_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14968. u8g2_Setup_ssd1606_172x72_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14969. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14970. }
  14971. };
  14972. #endif
  14973. class U8G2_SSD1606_172X72_2_3W_SW_SPI : public U8G2 {
  14974. public: U8G2_SSD1606_172X72_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14975. u8g2_Setup_ssd1606_172x72_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14976. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14977. }
  14978. };
  14979. class U8G2_SSD1606_172X72_F_4W_SW_SPI : public U8G2 {
  14980. public: U8G2_SSD1606_172X72_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14981. u8g2_Setup_ssd1606_172x72_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14982. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  14983. }
  14984. };
  14985. #if defined U8G2_USE_HW_SPI
  14986. class U8G2_SSD1606_172X72_F_4W_HW_SPI : public U8G2 {
  14987. public: U8G2_SSD1606_172X72_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14988. u8g2_Setup_ssd1606_172x72_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  14989. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  14990. }
  14991. };
  14992. #endif
  14993. class U8G2_SSD1606_172X72_F_3W_SW_SPI : public U8G2 {
  14994. public: U8G2_SSD1606_172X72_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  14995. u8g2_Setup_ssd1606_172x72_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  14996. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  14997. }
  14998. };
  14999. class U8G2_SSD1607_200X200_1_4W_SW_SPI : public U8G2 {
  15000. public: U8G2_SSD1607_200X200_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15001. u8g2_Setup_ssd1607_200x200_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15002. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15003. }
  15004. };
  15005. #if defined U8G2_USE_HW_SPI
  15006. class U8G2_SSD1607_200X200_1_4W_HW_SPI : public U8G2 {
  15007. public: U8G2_SSD1607_200X200_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15008. u8g2_Setup_ssd1607_200x200_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15009. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15010. }
  15011. };
  15012. #endif
  15013. class U8G2_SSD1607_200X200_1_3W_SW_SPI : public U8G2 {
  15014. public: U8G2_SSD1607_200X200_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15015. u8g2_Setup_ssd1607_200x200_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15016. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15017. }
  15018. };
  15019. class U8G2_SSD1607_GD_200X200_1_4W_SW_SPI : public U8G2 {
  15020. public: U8G2_SSD1607_GD_200X200_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15021. u8g2_Setup_ssd1607_gd_200x200_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15022. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15023. }
  15024. };
  15025. #if defined U8G2_USE_HW_SPI
  15026. class U8G2_SSD1607_GD_200X200_1_4W_HW_SPI : public U8G2 {
  15027. public: U8G2_SSD1607_GD_200X200_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15028. u8g2_Setup_ssd1607_gd_200x200_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15029. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15030. }
  15031. };
  15032. #endif
  15033. class U8G2_SSD1607_GD_200X200_1_3W_SW_SPI : public U8G2 {
  15034. public: U8G2_SSD1607_GD_200X200_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15035. u8g2_Setup_ssd1607_gd_200x200_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15036. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15037. }
  15038. };
  15039. class U8G2_SSD1607_WS_200X200_1_4W_SW_SPI : public U8G2 {
  15040. public: U8G2_SSD1607_WS_200X200_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15041. u8g2_Setup_ssd1607_ws_200x200_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15042. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15043. }
  15044. };
  15045. #if defined U8G2_USE_HW_SPI
  15046. class U8G2_SSD1607_WS_200X200_1_4W_HW_SPI : public U8G2 {
  15047. public: U8G2_SSD1607_WS_200X200_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15048. u8g2_Setup_ssd1607_ws_200x200_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15049. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15050. }
  15051. };
  15052. #endif
  15053. class U8G2_SSD1607_WS_200X200_1_3W_SW_SPI : public U8G2 {
  15054. public: U8G2_SSD1607_WS_200X200_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15055. u8g2_Setup_ssd1607_ws_200x200_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15056. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15057. }
  15058. };
  15059. class U8G2_SSD1607_200X200_2_4W_SW_SPI : public U8G2 {
  15060. public: U8G2_SSD1607_200X200_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15061. u8g2_Setup_ssd1607_200x200_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15062. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15063. }
  15064. };
  15065. #if defined U8G2_USE_HW_SPI
  15066. class U8G2_SSD1607_200X200_2_4W_HW_SPI : public U8G2 {
  15067. public: U8G2_SSD1607_200X200_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15068. u8g2_Setup_ssd1607_200x200_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15069. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15070. }
  15071. };
  15072. #endif
  15073. class U8G2_SSD1607_200X200_2_3W_SW_SPI : public U8G2 {
  15074. public: U8G2_SSD1607_200X200_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15075. u8g2_Setup_ssd1607_200x200_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15076. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15077. }
  15078. };
  15079. class U8G2_SSD1607_GD_200X200_2_4W_SW_SPI : public U8G2 {
  15080. public: U8G2_SSD1607_GD_200X200_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15081. u8g2_Setup_ssd1607_gd_200x200_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15082. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15083. }
  15084. };
  15085. #if defined U8G2_USE_HW_SPI
  15086. class U8G2_SSD1607_GD_200X200_2_4W_HW_SPI : public U8G2 {
  15087. public: U8G2_SSD1607_GD_200X200_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15088. u8g2_Setup_ssd1607_gd_200x200_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15089. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15090. }
  15091. };
  15092. #endif
  15093. class U8G2_SSD1607_GD_200X200_2_3W_SW_SPI : public U8G2 {
  15094. public: U8G2_SSD1607_GD_200X200_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15095. u8g2_Setup_ssd1607_gd_200x200_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15096. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15097. }
  15098. };
  15099. class U8G2_SSD1607_WS_200X200_2_4W_SW_SPI : public U8G2 {
  15100. public: U8G2_SSD1607_WS_200X200_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15101. u8g2_Setup_ssd1607_ws_200x200_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15102. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15103. }
  15104. };
  15105. #if defined U8G2_USE_HW_SPI
  15106. class U8G2_SSD1607_WS_200X200_2_4W_HW_SPI : public U8G2 {
  15107. public: U8G2_SSD1607_WS_200X200_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15108. u8g2_Setup_ssd1607_ws_200x200_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15109. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15110. }
  15111. };
  15112. #endif
  15113. class U8G2_SSD1607_WS_200X200_2_3W_SW_SPI : public U8G2 {
  15114. public: U8G2_SSD1607_WS_200X200_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15115. u8g2_Setup_ssd1607_ws_200x200_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15116. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15117. }
  15118. };
  15119. class U8G2_SSD1607_200X200_F_4W_SW_SPI : public U8G2 {
  15120. public: U8G2_SSD1607_200X200_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15121. u8g2_Setup_ssd1607_200x200_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15122. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15123. }
  15124. };
  15125. #if defined U8G2_USE_HW_SPI
  15126. class U8G2_SSD1607_200X200_F_4W_HW_SPI : public U8G2 {
  15127. public: U8G2_SSD1607_200X200_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15128. u8g2_Setup_ssd1607_200x200_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15129. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15130. }
  15131. };
  15132. #endif
  15133. class U8G2_SSD1607_200X200_F_3W_SW_SPI : public U8G2 {
  15134. public: U8G2_SSD1607_200X200_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15135. u8g2_Setup_ssd1607_200x200_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15136. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15137. }
  15138. };
  15139. class U8G2_SSD1607_GD_200X200_F_4W_SW_SPI : public U8G2 {
  15140. public: U8G2_SSD1607_GD_200X200_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15141. u8g2_Setup_ssd1607_gd_200x200_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15142. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15143. }
  15144. };
  15145. #if defined U8G2_USE_HW_SPI
  15146. class U8G2_SSD1607_GD_200X200_F_4W_HW_SPI : public U8G2 {
  15147. public: U8G2_SSD1607_GD_200X200_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15148. u8g2_Setup_ssd1607_gd_200x200_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15149. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15150. }
  15151. };
  15152. #endif
  15153. class U8G2_SSD1607_GD_200X200_F_3W_SW_SPI : public U8G2 {
  15154. public: U8G2_SSD1607_GD_200X200_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15155. u8g2_Setup_ssd1607_gd_200x200_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15156. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15157. }
  15158. };
  15159. class U8G2_SSD1607_WS_200X200_F_4W_SW_SPI : public U8G2 {
  15160. public: U8G2_SSD1607_WS_200X200_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15161. u8g2_Setup_ssd1607_ws_200x200_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15162. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15163. }
  15164. };
  15165. #if defined U8G2_USE_HW_SPI
  15166. class U8G2_SSD1607_WS_200X200_F_4W_HW_SPI : public U8G2 {
  15167. public: U8G2_SSD1607_WS_200X200_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15168. u8g2_Setup_ssd1607_ws_200x200_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15169. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15170. }
  15171. };
  15172. #endif
  15173. class U8G2_SSD1607_WS_200X200_F_3W_SW_SPI : public U8G2 {
  15174. public: U8G2_SSD1607_WS_200X200_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15175. u8g2_Setup_ssd1607_ws_200x200_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15176. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15177. }
  15178. };
  15179. class U8G2_IL3820_296X128_1_4W_SW_SPI : public U8G2 {
  15180. public: U8G2_IL3820_296X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15181. u8g2_Setup_il3820_296x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15182. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15183. }
  15184. };
  15185. #if defined U8G2_USE_HW_SPI
  15186. class U8G2_IL3820_296X128_1_4W_HW_SPI : public U8G2 {
  15187. public: U8G2_IL3820_296X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15188. u8g2_Setup_il3820_296x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15189. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15190. }
  15191. };
  15192. #endif
  15193. class U8G2_IL3820_296X128_1_3W_SW_SPI : public U8G2 {
  15194. public: U8G2_IL3820_296X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15195. u8g2_Setup_il3820_296x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15196. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15197. }
  15198. };
  15199. class U8G2_IL3820_V2_296X128_1_4W_SW_SPI : public U8G2 {
  15200. public: U8G2_IL3820_V2_296X128_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15201. u8g2_Setup_il3820_v2_296x128_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15202. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15203. }
  15204. };
  15205. #if defined U8G2_USE_HW_SPI
  15206. class U8G2_IL3820_V2_296X128_1_4W_HW_SPI : public U8G2 {
  15207. public: U8G2_IL3820_V2_296X128_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15208. u8g2_Setup_il3820_v2_296x128_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15209. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15210. }
  15211. };
  15212. #endif
  15213. class U8G2_IL3820_V2_296X128_1_3W_SW_SPI : public U8G2 {
  15214. public: U8G2_IL3820_V2_296X128_1_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15215. u8g2_Setup_il3820_v2_296x128_1(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15216. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15217. }
  15218. };
  15219. class U8G2_IL3820_296X128_2_4W_SW_SPI : public U8G2 {
  15220. public: U8G2_IL3820_296X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15221. u8g2_Setup_il3820_296x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15222. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15223. }
  15224. };
  15225. #if defined U8G2_USE_HW_SPI
  15226. class U8G2_IL3820_296X128_2_4W_HW_SPI : public U8G2 {
  15227. public: U8G2_IL3820_296X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15228. u8g2_Setup_il3820_296x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15229. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15230. }
  15231. };
  15232. #endif
  15233. class U8G2_IL3820_296X128_2_3W_SW_SPI : public U8G2 {
  15234. public: U8G2_IL3820_296X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15235. u8g2_Setup_il3820_296x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15236. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15237. }
  15238. };
  15239. class U8G2_IL3820_V2_296X128_2_4W_SW_SPI : public U8G2 {
  15240. public: U8G2_IL3820_V2_296X128_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15241. u8g2_Setup_il3820_v2_296x128_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15242. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15243. }
  15244. };
  15245. #if defined U8G2_USE_HW_SPI
  15246. class U8G2_IL3820_V2_296X128_2_4W_HW_SPI : public U8G2 {
  15247. public: U8G2_IL3820_V2_296X128_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15248. u8g2_Setup_il3820_v2_296x128_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15249. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15250. }
  15251. };
  15252. #endif
  15253. class U8G2_IL3820_V2_296X128_2_3W_SW_SPI : public U8G2 {
  15254. public: U8G2_IL3820_V2_296X128_2_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15255. u8g2_Setup_il3820_v2_296x128_2(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15256. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15257. }
  15258. };
  15259. class U8G2_IL3820_296X128_F_4W_SW_SPI : public U8G2 {
  15260. public: U8G2_IL3820_296X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15261. u8g2_Setup_il3820_296x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15262. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15263. }
  15264. };
  15265. #if defined U8G2_USE_HW_SPI
  15266. class U8G2_IL3820_296X128_F_4W_HW_SPI : public U8G2 {
  15267. public: U8G2_IL3820_296X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15268. u8g2_Setup_il3820_296x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15269. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15270. }
  15271. };
  15272. #endif
  15273. class U8G2_IL3820_296X128_F_3W_SW_SPI : public U8G2 {
  15274. public: U8G2_IL3820_296X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15275. u8g2_Setup_il3820_296x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15276. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15277. }
  15278. };
  15279. class U8G2_IL3820_V2_296X128_F_4W_SW_SPI : public U8G2 {
  15280. public: U8G2_IL3820_V2_296X128_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15281. u8g2_Setup_il3820_v2_296x128_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15282. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15283. }
  15284. };
  15285. #if defined U8G2_USE_HW_SPI
  15286. class U8G2_IL3820_V2_296X128_F_4W_HW_SPI : public U8G2 {
  15287. public: U8G2_IL3820_V2_296X128_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15288. u8g2_Setup_il3820_v2_296x128_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15289. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15290. }
  15291. };
  15292. #endif
  15293. class U8G2_IL3820_V2_296X128_F_3W_SW_SPI : public U8G2 {
  15294. public: U8G2_IL3820_V2_296X128_F_3W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15295. u8g2_Setup_il3820_v2_296x128_f(&u8g2, rotation, u8x8_byte_3wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15296. u8x8_SetPin_3Wire_SW_SPI(getU8x8(), clock, data, cs, reset);
  15297. }
  15298. };
  15299. class U8G2_SED1330_240X128_1_6800 : public U8G2 {
  15300. public: U8G2_SED1330_240X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15301. u8g2_Setup_sed1330_240x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15302. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15303. }
  15304. };
  15305. class U8G2_SED1330_240X128_1_8080 : public U8G2 {
  15306. public: U8G2_SED1330_240X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15307. u8g2_Setup_sed1330_240x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15308. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15309. }
  15310. };
  15311. class U8G2_SED1330_240X128_2_6800 : public U8G2 {
  15312. public: U8G2_SED1330_240X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15313. u8g2_Setup_sed1330_240x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15314. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15315. }
  15316. };
  15317. class U8G2_SED1330_240X128_2_8080 : public U8G2 {
  15318. public: U8G2_SED1330_240X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15319. u8g2_Setup_sed1330_240x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15320. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15321. }
  15322. };
  15323. class U8G2_SED1330_240X128_F_6800 : public U8G2 {
  15324. public: U8G2_SED1330_240X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15325. u8g2_Setup_sed1330_240x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15326. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15327. }
  15328. };
  15329. class U8G2_SED1330_240X128_F_8080 : public U8G2 {
  15330. public: U8G2_SED1330_240X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15331. u8g2_Setup_sed1330_240x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15332. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15333. }
  15334. };
  15335. class U8G2_RA8835_NHD_240X128_1_6800 : public U8G2 {
  15336. public: U8G2_RA8835_NHD_240X128_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15337. u8g2_Setup_ra8835_nhd_240x128_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15338. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15339. }
  15340. };
  15341. class U8G2_RA8835_NHD_240X128_1_8080 : public U8G2 {
  15342. public: U8G2_RA8835_NHD_240X128_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15343. u8g2_Setup_ra8835_nhd_240x128_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15344. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15345. }
  15346. };
  15347. class U8G2_RA8835_NHD_240X128_2_6800 : public U8G2 {
  15348. public: U8G2_RA8835_NHD_240X128_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15349. u8g2_Setup_ra8835_nhd_240x128_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15350. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15351. }
  15352. };
  15353. class U8G2_RA8835_NHD_240X128_2_8080 : public U8G2 {
  15354. public: U8G2_RA8835_NHD_240X128_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15355. u8g2_Setup_ra8835_nhd_240x128_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15356. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15357. }
  15358. };
  15359. class U8G2_RA8835_NHD_240X128_F_6800 : public U8G2 {
  15360. public: U8G2_RA8835_NHD_240X128_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15361. u8g2_Setup_ra8835_nhd_240x128_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15362. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15363. }
  15364. };
  15365. class U8G2_RA8835_NHD_240X128_F_8080 : public U8G2 {
  15366. public: U8G2_RA8835_NHD_240X128_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15367. u8g2_Setup_ra8835_nhd_240x128_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15368. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15369. }
  15370. };
  15371. class U8G2_RA8835_320X240_1_6800 : public U8G2 {
  15372. public: U8G2_RA8835_320X240_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15373. u8g2_Setup_ra8835_320x240_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15374. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15375. }
  15376. };
  15377. class U8G2_RA8835_320X240_1_8080 : public U8G2 {
  15378. public: U8G2_RA8835_320X240_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15379. u8g2_Setup_ra8835_320x240_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15380. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15381. }
  15382. };
  15383. class U8G2_RA8835_320X240_2_6800 : public U8G2 {
  15384. public: U8G2_RA8835_320X240_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15385. u8g2_Setup_ra8835_320x240_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15386. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15387. }
  15388. };
  15389. class U8G2_RA8835_320X240_2_8080 : public U8G2 {
  15390. public: U8G2_RA8835_320X240_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15391. u8g2_Setup_ra8835_320x240_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15392. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15393. }
  15394. };
  15395. class U8G2_RA8835_320X240_F_6800 : public U8G2 {
  15396. public: U8G2_RA8835_320X240_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15397. u8g2_Setup_ra8835_320x240_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15398. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15399. }
  15400. };
  15401. class U8G2_RA8835_320X240_F_8080 : public U8G2 {
  15402. public: U8G2_RA8835_320X240_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15403. u8g2_Setup_ra8835_320x240_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15404. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15405. }
  15406. };
  15407. class U8G2_MAX7219_64X8_1_4W_SW_SPI : public U8G2 {
  15408. public: U8G2_MAX7219_64X8_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15409. u8g2_Setup_max7219_64x8_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15410. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15411. }
  15412. };
  15413. #if defined U8G2_USE_HW_SPI
  15414. class U8G2_MAX7219_64X8_1_4W_HW_SPI : public U8G2 {
  15415. public: U8G2_MAX7219_64X8_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15416. u8g2_Setup_max7219_64x8_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15417. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15418. }
  15419. };
  15420. #endif
  15421. class U8G2_MAX7219_64X8_2_4W_SW_SPI : public U8G2 {
  15422. public: U8G2_MAX7219_64X8_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15423. u8g2_Setup_max7219_64x8_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15424. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15425. }
  15426. };
  15427. #if defined U8G2_USE_HW_SPI
  15428. class U8G2_MAX7219_64X8_2_4W_HW_SPI : public U8G2 {
  15429. public: U8G2_MAX7219_64X8_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15430. u8g2_Setup_max7219_64x8_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15431. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15432. }
  15433. };
  15434. #endif
  15435. class U8G2_MAX7219_64X8_F_4W_SW_SPI : public U8G2 {
  15436. public: U8G2_MAX7219_64X8_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15437. u8g2_Setup_max7219_64x8_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15438. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15439. }
  15440. };
  15441. #if defined U8G2_USE_HW_SPI
  15442. class U8G2_MAX7219_64X8_F_4W_HW_SPI : public U8G2 {
  15443. public: U8G2_MAX7219_64X8_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15444. u8g2_Setup_max7219_64x8_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15445. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15446. }
  15447. };
  15448. #endif
  15449. class U8G2_MAX7219_32X8_1_4W_SW_SPI : public U8G2 {
  15450. public: U8G2_MAX7219_32X8_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15451. u8g2_Setup_max7219_32x8_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15452. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15453. }
  15454. };
  15455. #if defined U8G2_USE_HW_SPI
  15456. class U8G2_MAX7219_32X8_1_4W_HW_SPI : public U8G2 {
  15457. public: U8G2_MAX7219_32X8_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15458. u8g2_Setup_max7219_32x8_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15459. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15460. }
  15461. };
  15462. #endif
  15463. class U8G2_MAX7219_32X8_2_4W_SW_SPI : public U8G2 {
  15464. public: U8G2_MAX7219_32X8_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15465. u8g2_Setup_max7219_32x8_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15466. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15467. }
  15468. };
  15469. #if defined U8G2_USE_HW_SPI
  15470. class U8G2_MAX7219_32X8_2_4W_HW_SPI : public U8G2 {
  15471. public: U8G2_MAX7219_32X8_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15472. u8g2_Setup_max7219_32x8_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15473. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15474. }
  15475. };
  15476. #endif
  15477. class U8G2_MAX7219_32X8_F_4W_SW_SPI : public U8G2 {
  15478. public: U8G2_MAX7219_32X8_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15479. u8g2_Setup_max7219_32x8_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15480. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15481. }
  15482. };
  15483. #if defined U8G2_USE_HW_SPI
  15484. class U8G2_MAX7219_32X8_F_4W_HW_SPI : public U8G2 {
  15485. public: U8G2_MAX7219_32X8_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15486. u8g2_Setup_max7219_32x8_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15487. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15488. }
  15489. };
  15490. #endif
  15491. class U8G2_MAX7219_8X8_1_4W_SW_SPI : public U8G2 {
  15492. public: U8G2_MAX7219_8X8_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15493. u8g2_Setup_max7219_8x8_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15494. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15495. }
  15496. };
  15497. #if defined U8G2_USE_HW_SPI
  15498. class U8G2_MAX7219_8X8_1_4W_HW_SPI : public U8G2 {
  15499. public: U8G2_MAX7219_8X8_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15500. u8g2_Setup_max7219_8x8_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15501. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15502. }
  15503. };
  15504. #endif
  15505. class U8G2_MAX7219_8X8_2_4W_SW_SPI : public U8G2 {
  15506. public: U8G2_MAX7219_8X8_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15507. u8g2_Setup_max7219_8x8_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15508. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15509. }
  15510. };
  15511. #if defined U8G2_USE_HW_SPI
  15512. class U8G2_MAX7219_8X8_2_4W_HW_SPI : public U8G2 {
  15513. public: U8G2_MAX7219_8X8_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15514. u8g2_Setup_max7219_8x8_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15515. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15516. }
  15517. };
  15518. #endif
  15519. class U8G2_MAX7219_8X8_F_4W_SW_SPI : public U8G2 {
  15520. public: U8G2_MAX7219_8X8_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15521. u8g2_Setup_max7219_8x8_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15522. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15523. }
  15524. };
  15525. #if defined U8G2_USE_HW_SPI
  15526. class U8G2_MAX7219_8X8_F_4W_HW_SPI : public U8G2 {
  15527. public: U8G2_MAX7219_8X8_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15528. u8g2_Setup_max7219_8x8_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15529. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15530. }
  15531. };
  15532. #endif
  15533. class U8G2_S1D15E06_160100_1_4W_SW_SPI : public U8G2 {
  15534. public: U8G2_S1D15E06_160100_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15535. u8g2_Setup_s1d15e06_160100_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15536. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15537. }
  15538. };
  15539. #if defined U8G2_USE_HW_SPI
  15540. class U8G2_S1D15E06_160100_1_4W_HW_SPI : public U8G2 {
  15541. public: U8G2_S1D15E06_160100_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15542. u8g2_Setup_s1d15e06_160100_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15543. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15544. }
  15545. };
  15546. #endif
  15547. class U8G2_S1D15E06_160100_1_6800 : public U8G2 {
  15548. public: U8G2_S1D15E06_160100_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15549. u8g2_Setup_s1d15e06_160100_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15550. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15551. }
  15552. };
  15553. class U8G2_S1D15E06_160100_1_8080 : public U8G2 {
  15554. public: U8G2_S1D15E06_160100_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15555. u8g2_Setup_s1d15e06_160100_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15556. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15557. }
  15558. };
  15559. class U8G2_S1D15E06_160100_2_4W_SW_SPI : public U8G2 {
  15560. public: U8G2_S1D15E06_160100_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15561. u8g2_Setup_s1d15e06_160100_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15562. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15563. }
  15564. };
  15565. #if defined U8G2_USE_HW_SPI
  15566. class U8G2_S1D15E06_160100_2_4W_HW_SPI : public U8G2 {
  15567. public: U8G2_S1D15E06_160100_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15568. u8g2_Setup_s1d15e06_160100_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15569. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15570. }
  15571. };
  15572. #endif
  15573. class U8G2_S1D15E06_160100_2_6800 : public U8G2 {
  15574. public: U8G2_S1D15E06_160100_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15575. u8g2_Setup_s1d15e06_160100_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15576. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15577. }
  15578. };
  15579. class U8G2_S1D15E06_160100_2_8080 : public U8G2 {
  15580. public: U8G2_S1D15E06_160100_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15581. u8g2_Setup_s1d15e06_160100_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15582. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15583. }
  15584. };
  15585. class U8G2_S1D15E06_160100_F_4W_SW_SPI : public U8G2 {
  15586. public: U8G2_S1D15E06_160100_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15587. u8g2_Setup_s1d15e06_160100_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15588. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15589. }
  15590. };
  15591. #if defined U8G2_USE_HW_SPI
  15592. class U8G2_S1D15E06_160100_F_4W_HW_SPI : public U8G2 {
  15593. public: U8G2_S1D15E06_160100_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15594. u8g2_Setup_s1d15e06_160100_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15595. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15596. }
  15597. };
  15598. #endif
  15599. class U8G2_S1D15E06_160100_F_6800 : public U8G2 {
  15600. public: U8G2_S1D15E06_160100_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15601. u8g2_Setup_s1d15e06_160100_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15602. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15603. }
  15604. };
  15605. class U8G2_S1D15E06_160100_F_8080 : public U8G2 {
  15606. public: U8G2_S1D15E06_160100_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15607. u8g2_Setup_s1d15e06_160100_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15608. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15609. }
  15610. };
  15611. class U8G2_S1D15721_240X64_1_4W_SW_SPI : public U8G2 {
  15612. public: U8G2_S1D15721_240X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15613. u8g2_Setup_s1d15721_240x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15614. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15615. }
  15616. };
  15617. #if defined U8G2_USE_HW_SPI
  15618. class U8G2_S1D15721_240X64_1_4W_HW_SPI : public U8G2 {
  15619. public: U8G2_S1D15721_240X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15620. u8g2_Setup_s1d15721_240x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15621. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15622. }
  15623. };
  15624. #endif
  15625. class U8G2_S1D15721_240X64_1_6800 : public U8G2 {
  15626. public: U8G2_S1D15721_240X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15627. u8g2_Setup_s1d15721_240x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15628. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15629. }
  15630. };
  15631. class U8G2_S1D15721_240X64_1_8080 : public U8G2 {
  15632. public: U8G2_S1D15721_240X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15633. u8g2_Setup_s1d15721_240x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15634. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15635. }
  15636. };
  15637. class U8G2_S1D15721_240X64_2_4W_SW_SPI : public U8G2 {
  15638. public: U8G2_S1D15721_240X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15639. u8g2_Setup_s1d15721_240x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15640. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15641. }
  15642. };
  15643. #if defined U8G2_USE_HW_SPI
  15644. class U8G2_S1D15721_240X64_2_4W_HW_SPI : public U8G2 {
  15645. public: U8G2_S1D15721_240X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15646. u8g2_Setup_s1d15721_240x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15647. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15648. }
  15649. };
  15650. #endif
  15651. class U8G2_S1D15721_240X64_2_6800 : public U8G2 {
  15652. public: U8G2_S1D15721_240X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15653. u8g2_Setup_s1d15721_240x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15654. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15655. }
  15656. };
  15657. class U8G2_S1D15721_240X64_2_8080 : public U8G2 {
  15658. public: U8G2_S1D15721_240X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15659. u8g2_Setup_s1d15721_240x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15660. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15661. }
  15662. };
  15663. class U8G2_S1D15721_240X64_F_4W_SW_SPI : public U8G2 {
  15664. public: U8G2_S1D15721_240X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15665. u8g2_Setup_s1d15721_240x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15666. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15667. }
  15668. };
  15669. #if defined U8G2_USE_HW_SPI
  15670. class U8G2_S1D15721_240X64_F_4W_HW_SPI : public U8G2 {
  15671. public: U8G2_S1D15721_240X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15672. u8g2_Setup_s1d15721_240x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15673. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15674. }
  15675. };
  15676. #endif
  15677. class U8G2_S1D15721_240X64_F_6800 : public U8G2 {
  15678. public: U8G2_S1D15721_240X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15679. u8g2_Setup_s1d15721_240x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15680. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15681. }
  15682. };
  15683. class U8G2_S1D15721_240X64_F_8080 : public U8G2 {
  15684. public: U8G2_S1D15721_240X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15685. u8g2_Setup_s1d15721_240x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15686. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15687. }
  15688. };
  15689. class U8G2_GU800_128X64_1_4W_SW_SPI : public U8G2 {
  15690. public: U8G2_GU800_128X64_1_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15691. u8g2_Setup_gu800_128x64_1(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15692. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15693. }
  15694. };
  15695. #if defined U8G2_USE_HW_SPI
  15696. class U8G2_GU800_128X64_1_4W_HW_SPI : public U8G2 {
  15697. public: U8G2_GU800_128X64_1_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15698. u8g2_Setup_gu800_128x64_1(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15699. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15700. }
  15701. };
  15702. #endif
  15703. class U8G2_GU800_128X64_1_6800 : public U8G2 {
  15704. public: U8G2_GU800_128X64_1_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15705. u8g2_Setup_gu800_128x64_1(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15706. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15707. }
  15708. };
  15709. class U8G2_GU800_128X64_1_8080 : public U8G2 {
  15710. public: U8G2_GU800_128X64_1_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15711. u8g2_Setup_gu800_128x64_1(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15712. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15713. }
  15714. };
  15715. class U8G2_GU800_128X64_2_4W_SW_SPI : public U8G2 {
  15716. public: U8G2_GU800_128X64_2_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15717. u8g2_Setup_gu800_128x64_2(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15718. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15719. }
  15720. };
  15721. #if defined U8G2_USE_HW_SPI
  15722. class U8G2_GU800_128X64_2_4W_HW_SPI : public U8G2 {
  15723. public: U8G2_GU800_128X64_2_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15724. u8g2_Setup_gu800_128x64_2(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15725. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15726. }
  15727. };
  15728. #endif
  15729. class U8G2_GU800_128X64_2_6800 : public U8G2 {
  15730. public: U8G2_GU800_128X64_2_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15731. u8g2_Setup_gu800_128x64_2(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15732. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15733. }
  15734. };
  15735. class U8G2_GU800_128X64_2_8080 : public U8G2 {
  15736. public: U8G2_GU800_128X64_2_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15737. u8g2_Setup_gu800_128x64_2(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15738. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15739. }
  15740. };
  15741. class U8G2_GU800_128X64_F_4W_SW_SPI : public U8G2 {
  15742. public: U8G2_GU800_128X64_F_4W_SW_SPI(const u8g2_cb_t *rotation, uint8_t clock, uint8_t data, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15743. u8g2_Setup_gu800_128x64_f(&u8g2, rotation, u8x8_byte_4wire_sw_spi, u8x8_gpio_and_delay_rtthread);
  15744. u8x8_SetPin_4Wire_SW_SPI(getU8x8(), clock, data, cs, dc, reset);
  15745. }
  15746. };
  15747. #if defined U8G2_USE_HW_SPI
  15748. class U8G2_GU800_128X64_F_4W_HW_SPI : public U8G2 {
  15749. public: U8G2_GU800_128X64_F_4W_HW_SPI(const u8g2_cb_t *rotation, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15750. u8g2_Setup_gu800_128x64_f(&u8g2, rotation, u8x8_byte_rtthread_4wire_hw_spi, u8x8_gpio_and_delay_rtthread);
  15751. u8x8_SetPin_4Wire_HW_SPI(getU8x8(), cs, dc, reset);
  15752. }
  15753. };
  15754. #endif
  15755. class U8G2_GU800_128X64_F_6800 : public U8G2 {
  15756. public: U8G2_GU800_128X64_F_6800(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15757. u8g2_Setup_gu800_128x64_f(&u8g2, rotation, u8x8_byte_8bit_6800mode, u8x8_gpio_and_delay_rtthread);
  15758. u8x8_SetPin_8Bit_6800(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15759. }
  15760. };
  15761. class U8G2_GU800_128X64_F_8080 : public U8G2 {
  15762. public: U8G2_GU800_128X64_F_8080(const u8g2_cb_t *rotation, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t enable, uint8_t cs, uint8_t dc, uint8_t reset = U8X8_PIN_NONE) : U8G2() {
  15763. u8g2_Setup_gu800_128x64_f(&u8g2, rotation, u8x8_byte_8bit_8080mode, u8x8_gpio_and_delay_rtthread);
  15764. u8x8_SetPin_8Bit_8080(getU8x8(), d0, d1, d2, d3, d4, d5, d6, d7, enable, cs, dc, reset);
  15765. }
  15766. };
  15767. #endif // U8X8_USE_PINS
  15768. #endif /* _U8G2LIB_HH */