bdaqctrl.h 576 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051
  1. #if defined(__cplusplus) && !defined(_BDAQ_NO_NAMESPACE) && !defined(_BDAQ_C_INTERFACE)
  2. # ifndef BEGIN_NAMEAPCE_AUTOMATION_BDAQ
  3. # define BEGIN_NAMEAPCE_AUTOMATION_BDAQ namespace Automation { namespace BDaq {
  4. # define END_NAMEAPCE_AUTOMATION_BDAQ } /*BDaq*/ } /*Automation*/
  5. # endif
  6. #else
  7. # ifndef BEGIN_NAMEAPCE_AUTOMATION_BDAQ
  8. # define BEGIN_NAMEAPCE_AUTOMATION_BDAQ
  9. # define END_NAMEAPCE_AUTOMATION_BDAQ
  10. # endif
  11. #endif
  12. /**********************************************************/
  13. /*Bionic DAQ types */
  14. /**********************************************************/
  15. #ifndef _BDAQ_TYPES_DEFINED
  16. #define _BDAQ_TYPES_DEFINED
  17. BEGIN_NAMEAPCE_AUTOMATION_BDAQ
  18. #define DAQ_NAVI_VER 0x400
  19. #define MAX_DEVICE_DESC_LEN 64
  20. #define MAX_VRG_DESC_LEN 256
  21. #define MAX_SIG_DROP_DESC_LEN 256
  22. #define MAX_AI_CH_COUNT 128
  23. #define MAX_AO_CH_COUNT 128
  24. #define MAX_DIO_PORT_COUNT 32
  25. #define MAX_CNTR_CH_COUNT 8
  26. typedef signed char int8;
  27. typedef signed short int16;
  28. typedef unsigned char uint8;
  29. typedef unsigned short uint16;
  30. #if defined(_WIN32) || defined(WIN32)
  31. # define BDAQCALL WINAPI
  32. # ifndef _WIN64
  33. typedef signed int int32;
  34. typedef unsigned int uint32;
  35. # else
  36. typedef signed long int32;
  37. typedef unsigned long uint32;
  38. # endif
  39. typedef signed __int64 int64;
  40. typedef unsigned __int64 uint64;
  41. #else
  42. # define BDAQCALL
  43. typedef signed int int32;
  44. typedef unsigned int uint32;
  45. typedef signed long long int64;
  46. typedef unsigned long long uint64;
  47. typedef void * HANDLE;
  48. #endif
  49. #ifdef __cplusplus
  50. # define BDAQINL __inline
  51. #else
  52. # define BDAQINL static
  53. #endif
  54. typedef enum TerminalBoard {
  55. WiringBoard = 0,
  56. PCLD8710,
  57. PCLD789,
  58. PCLD8115,
  59. /*----------------------------------------------------------------------*/
  60. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  61. BoardUnknown = 0xffffffff,
  62. } TerminalBoard;
  63. typedef enum ModuleType {
  64. DaqGroup = 1,
  65. DaqDevice,
  66. DaqAi,
  67. DaqAo,
  68. DaqDio,
  69. DaqCounter,
  70. DaqCali,
  71. DaqFw,
  72. /*----------------------------------------------------------------------*/
  73. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  74. DaqAny = 0xffffffff,
  75. } ModuleType;
  76. typedef enum CaliState {
  77. CaliSuccess = 0,
  78. CaliFailed,
  79. CaliBusy,
  80. CaliIdle,
  81. /*----------------------------------------------------------------------*/
  82. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  83. CaliUnknown = 0xffffffff,
  84. } CaliState;
  85. typedef enum FwAction {
  86. FwNormal = 1,
  87. FwMandatory,
  88. FwAbort = 0xffffffff,
  89. } FwAction;
  90. /*Firmware update progress code*/
  91. typedef enum ProgressCode {
  92. // [0, 100]: The operation is in progressing
  93. OperationReady = 0,
  94. OperationFinished = 100,
  95. // [-100, -1]: The operation will probably succeed if try it again( nothing need to be changed)!
  96. UnexpectedTermination = -1, // The operation is terminated due to some unknown reason, such as disconnect, power off, etc.
  97. // [-1000, -101]: The material is correct, but software check finds some problem,
  98. FileVersionTooSmall = -101, // Firmware File version is less than the HW's firmware version.
  99. ModuleTypeNotMatch = -102, // The target module type of firmware file does not match with the current one.
  100. // [-2000, -1001]: Parameter error, or device error, and CAN NOT execute the required command
  101. NoFile = -1001, // The firmware file had not been loaded.
  102. DeviceBusy = -1002, // The device is busy.
  103. ActivationCodeError = -1003, // The activation code of firmware update is error.
  104. FileDemaged = -1004, // The file is damaged and the update failed.
  105. } ProgressCode;
  106. typedef enum AccessMode {
  107. ModeRead = 0,
  108. ModeWrite,
  109. ModeWriteWithReset,
  110. ModeWriteShared,
  111. /*----------------------------------------------------------------------*/
  112. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  113. ModeUnknown = 0xffffffff,
  114. } AccessMode;
  115. typedef enum Depository {
  116. DepositoryNone = 0,
  117. DepositoryOnSystem,
  118. DepositoryOnDevice,
  119. /*----------------------------------------------------------------------*/
  120. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  121. DepositoryUnknown = 0xffffffff,
  122. } Depository;
  123. typedef enum MathIntervalType {
  124. /* Right boundary definition, define the maximum value state, use the bit 0,1 */
  125. RightOpenSet = 0x0, /* No maximum value limitation. */
  126. RightClosedBoundary = 0x1, /* The maximum value is included. */
  127. RightOpenBoundary = 0x2, /* The maximum value is not included. */
  128. /* Left boundary definition, define the minimum value state, used the bit 2, 3 */
  129. LeftOpenSet = 0x0, /* No minimum value limitation. */
  130. LeftClosedBoundary = 0x4, /* The minimum value is included. */
  131. LeftOpenBoundary = 0x8, /* The minimum value is not included */
  132. /* The signality expression */
  133. Boundless = 0x0, /* Boundless set. (LeftOpenSet | RightOpenSet) */
  134. /* The combination notation */
  135. LOSROS = 0x0, /* (LeftOpenSet | RightOpenSet), algebra notation: (un-limit, max) */
  136. LOSRCB = 0x1, /* (LeftOpenSet | RightClosedBoundary), algebra notation: (un-limit, max ] */
  137. LOSROB = 0x2, /* (LeftOpenSet | RightOpenBoundary), algebra notation: (un-limit, max) */
  138. LCBROS = 0x4, /* (LeftClosedBoundary | RightOpenSet), algebra notation: [min, un-limit) */
  139. LCBRCB = 0x5, /* (LeftClosedBoundary | RightClosedBoundary), algebra notation: [ min, right ] */
  140. LCBROB = 0x6, /* (LeftClosedBoundary | RightOpenBoundary), algebra notation: [ min, right) */
  141. LOBROS = 0x8, /* (LeftOpenBoundary | RightOpenSet), algebra notation: (min, un-limit) */
  142. LOBRCB = 0x9, /* (LeftOpenBoundary | RightClosedBoundary), algebra notation: (min, right ] */
  143. LOBROB = 0xA, /* (LeftOpenBoundary | RightOpenBoundary), algebra notation: (min, right) */
  144. /*----------------------------------------------------------------------*/
  145. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  146. IntervalUnknown = 0xffffffff,
  147. } MathIntervalType;
  148. typedef enum AiChannelType {
  149. AllSingleEnded = 0,
  150. AllDifferential,
  151. AllSeDiffAdj,
  152. MixedSeDiffAdj,
  153. /*----------------------------------------------------------------------*/
  154. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  155. ChannelUnknown = 0xffffffff,
  156. } AiChannelType;
  157. typedef enum AiSignalType {
  158. SingleEnded = 0,
  159. Differential,
  160. PseudoDifferential,
  161. /*----------------------------------------------------------------------*/
  162. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  163. AiSignalUnknown = 0xffffffff,
  164. } AiSignalType;
  165. typedef enum CouplingType {
  166. DCCoupling = 0,
  167. ACCoupling,
  168. /*----------------------------------------------------------------------*/
  169. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  170. CouplingUnknown = 0xffffffff,
  171. } CouplingType;
  172. typedef enum ImpedanceType {
  173. Ipd1Momh = 0,
  174. Ipd50omh,
  175. /*----------------------------------------------------------------------*/
  176. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  177. ImpedanceUnknown = 0xffffffff,
  178. } ImpedanceType;
  179. typedef enum IepeType {
  180. IEPENone = 0,
  181. IEPE4mA = 1,
  182. IEPE10mA = 2,
  183. IEPE2mA = 3,
  184. /*----------------------------------------------------------------------*/
  185. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  186. IepeUnknown = 0xffffffff,
  187. } IepeType;
  188. typedef enum MeasureType {
  189. VoltageType = 0,
  190. CurrentType = 1,
  191. FullBridge = 2,
  192. HalfBridge = 3,
  193. QuadBridge = 4,
  194. /*----------------------------------------------------------------------*/
  195. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  196. MeasureUnknown = 0xffffffff,
  197. } MeasureType;
  198. typedef enum SensorType {
  199. StrainGage = 0,
  200. ForceCell = 1,
  201. /*----------------------------------------------------------------------*/
  202. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  203. SensorUnknown = 0xffffffff,
  204. } SensorType;
  205. typedef enum FilterType {
  206. FilterNone = 0,
  207. LowPass,
  208. HighPass,
  209. BandPass,
  210. BandStop,
  211. /*----------------------------------------------------------------------*/
  212. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  213. FilterUnknown = 0xffffffff,
  214. } FilterType;
  215. typedef enum DioPortType {
  216. PortDi = 0, /*the port number references to a DI port*/
  217. PortDo, /*the port number references to a DO port*/
  218. PortDio, /*the port number references to a DI port and a DO port*/
  219. Port8255A, /*the port number references to a PPI port A mode DIO port.*/
  220. Port8255C, /*the port number references to a PPI port C mode DIO port.*/
  221. PortIndvdlDio, /*the port number references to a port whose each channel can be configured as in or out.*/
  222. /*----------------------------------------------------------------------*/
  223. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  224. PortUnknown = 0xffffffff,
  225. } DioPortType;
  226. typedef enum DioPortDir {
  227. Input = 0x00,
  228. LoutHin = 0x0F,
  229. LinHout = 0xF0,
  230. Output = 0xFF,
  231. /*----------------------------------------------------------------------*/
  232. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  233. DirUnknown = 0xffffffff,
  234. } DioPortDir;
  235. typedef enum DiOpenState {
  236. PullHigh = 0x00,
  237. PullLow = 0x11,
  238. TriState = 0x33,
  239. /*----------------------------------------------------------------------*/
  240. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  241. OpenStateUnknown = 0xffffffff,
  242. } DiOpenState;
  243. typedef enum DoCircuitType {
  244. TTL = 0,
  245. Sink = 1,
  246. Source = 2,
  247. Relay = 3,
  248. /*----------------------------------------------------------------------*/
  249. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  250. TypeUnknown = 0xffffffff,
  251. } DoCircuitType;
  252. typedef enum SamplingMethod {
  253. EqualTimeSwitch = 0,
  254. Simultaneous,
  255. /*----------------------------------------------------------------------*/
  256. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  257. SamplingUnknown = 0xffffffff,
  258. } SamplingMethod;
  259. typedef enum TemperatureDegree {
  260. Celsius = 0,
  261. Fahrenheit,
  262. Rankine,
  263. Kelvin,
  264. /*----------------------------------------------------------------------*/
  265. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  266. DegreeUnknown = 0xffffffff,
  267. } TemperatureDegree;
  268. typedef enum BurnoutRetType {
  269. Current = 0,
  270. ParticularValue,
  271. UpLimit,
  272. LowLimit,
  273. LastCorrectValue,
  274. /*----------------------------------------------------------------------*/
  275. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  276. ReturnUnknown = 0xffffffff,
  277. } BurnoutRetType;
  278. typedef enum ValueUnit {
  279. Kilovolt, /* KV */
  280. Volt, /* V */
  281. Millivolt, /* mV */
  282. Microvolt, /* uV */
  283. Kiloampere, /* KA */
  284. Ampere, /* A */
  285. Milliampere, /* mA */
  286. Microampere, /* uA */
  287. CelsiusUnit, /* Celsius */
  288. Kilogram, /* Kg */
  289. Strain,
  290. /*----------------------------------------------------------------------*/
  291. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  292. UnitUnknown = 0xffffffff,
  293. } ValueUnit;
  294. typedef enum ValueRange {
  295. V_Neg15To15 = 0, /* +/- 15 V */
  296. V_Neg10To10, /* +/- 10 V */
  297. V_Neg5To5, /* +/- 5 V */
  298. V_Neg2pt5To2pt5, /* +/- 2.5 V */
  299. V_Neg1pt25To1pt25, /* +/- 1.25 V */
  300. V_Neg1To1, /* +/- 1 V */
  301. V_0To15, /* 0~15 V */
  302. V_0To10, /* 0~10 V */
  303. V_0To5, /* 0~5 V */
  304. V_0To2pt5, /* 0~2.5 V */
  305. V_0To1pt25, /* 0~1.25 V */
  306. V_0To1, /* 0~1 V */
  307. mV_Neg625To625, /* +/- 625mV */
  308. mV_Neg500To500, /* +/- 500 mV */
  309. mV_Neg312pt5To312pt5, /* +/- 312.5 mV */
  310. mV_Neg200To200, /* +/- 200 mV */
  311. mV_Neg150To150, /* +/- 150 mV */
  312. mV_Neg100To100, /* +/- 100 mV */
  313. mV_Neg50To50, /* +/- 50 mV */
  314. mV_Neg30To30, /* +/- 30 mV */
  315. mV_Neg20To20, /* +/- 20 mV */
  316. mV_Neg15To15, /* +/- 15 mV */
  317. mV_Neg10To10, /* +/- 10 mV */
  318. mV_Neg5To5, /* +/- 5 mV */
  319. mV_0To625, /* 0 ~ 625 mV */
  320. mV_0To500, /* 0 ~ 500 mV */
  321. mV_0To150, /* 0 ~ 150 mV */
  322. mV_0To100, /* 0 ~ 100 mV */
  323. mV_0To50, /* 0 ~ 50 mV */
  324. mV_0To20, /* 0 ~ 20 mV */
  325. mV_0To15, /* 0 ~ 15 mV */
  326. mV_0To10, /* 0 ~ 10 mV */
  327. mA_Neg20To20, /* +/- 20mA */
  328. mA_0To20, /* 0 ~ 20 mA */
  329. mA_4To20, /* 4 ~ 20 mA */
  330. mA_0To24, /* 0 ~ 24 mA */
  331. /* For USB4702_4704 */
  332. V_Neg2To2, /* +/- 2 V */
  333. V_Neg4To4, /* +/- 4 V */
  334. V_Neg20To20, /* +/- 20 V */
  335. Jtype_0To760C = 0x8000, /* T/C J type 0~760 'C */
  336. Ktype_0To1370C, /* T/C K type 0~1370 'C */
  337. Ttype_Neg100To400C, /* T/C T type -100~400 'C */
  338. Etype_0To1000C, /* T/C E type 0~1000 'C */
  339. Rtype_500To1750C, /* T/C R type 500~1750 'C */
  340. Stype_500To1750C, /* T/C S type 500~1750 'C */
  341. Btype_500To1800C, /* T/C B type 500~1800 'C */
  342. Pt392_Neg50To150, /* Pt392 -50~150 'C */
  343. Pt385_Neg200To200, /* Pt385 -200~200 'C */
  344. Pt385_0To400, /* Pt385 0~400 'C */
  345. Pt385_Neg50To150, /* Pt385 -50~150 'C */
  346. Pt385_Neg100To100, /* Pt385 -100~100 'C */
  347. Pt385_0To100, /* Pt385 0~100 'C */
  348. Pt385_0To200, /* Pt385 0~200 'C */
  349. Pt385_0To600, /* Pt385 0~600 'C */
  350. Pt392_Neg100To100, /* Pt392 -100~100 'C */
  351. Pt392_0To100, /* Pt392 0~100 'C */
  352. Pt392_0To200, /* Pt392 0~200 'C */
  353. Pt392_0To600, /* Pt392 0~600 'C */
  354. Pt392_0To400, /* Pt392 0~400 'C */
  355. Pt392_Neg200To200, /* Pt392 -200~200 'C */
  356. Pt1000_Neg40To160, /* Pt1000 -40~160 'C */
  357. Balcon500_Neg30To120, /* Balcon500 -30~120 'C */
  358. Ni518_Neg80To100, /* Ni518 -80~100 'C */
  359. Ni518_0To100, /* Ni518 0~100 'C */
  360. Ni508_0To100, /* Ni508 0~100 'C */
  361. Ni508_Neg50To200, /* Ni508 -50~200 'C */
  362. Thermistor_3K_0To100, /* Thermistor 3K 0~100 'C */
  363. Thermistor_10K_0To100, /* Thermistor 10K 0~100 'C */
  364. Jtype_Neg210To1200C, /* T/C J type -210~1200 'C */
  365. Ktype_Neg270To1372C, /* T/C K type -270~1372 'C */
  366. Ttype_Neg270To400C, /* T/C T type -270~400 'C */
  367. Etype_Neg270To1000C, /* T/C E type -270~1000 'C */
  368. Rtype_Neg50To1768C, /* T/C R type -50~1768 'C */
  369. Stype_Neg50To1768C, /* T/C S type -50~1768 'C */
  370. Btype_40To1820C, /* T/C B type 40~1820 'C */
  371. Jtype_Neg210To870C, /* T/C J type -210~870 'C */
  372. Rtype_0To1768C, /* T/C R type 0~1768 'C */
  373. Stype_0To1768C, /* T/C S type 0~1768 'C */
  374. Ttype_Neg20To135C, /* T/C T type -20~135 'C */
  375. V_0To30, /* 0 ~ 30 V */
  376. A_0To3, /* 0 ~ 3 A */
  377. Pt100_Neg50To150, /* Pt100 -50~150 'C */
  378. Pt100_Neg200To200, /* Pt100 -200~200 'C */
  379. Pt100_0To100, /* Pt100 0~100 'C */
  380. Pt100_0To200, /* Pt100 0~200 'C */
  381. Pt100_0To400, /* Pt100 0~400 'C */
  382. Btype_300To1820C, /* T/C B type 300~1820 'C */
  383. V_Neg12pt5To12pt5,
  384. V_Neg6To6, /* +/- 6 V */
  385. V_Neg3To3, /* +/- 3 V */
  386. V_Neg1pt5To1pt5, /* +/- 1.5 V */
  387. mV_Neg750To750, /* +/- 750 mV */
  388. mV_Neg375To375, /* +/- 375 mV */
  389. mV_Neg187pt5To187pt5, /* +/- 187.5 mV */
  390. Pt100_385_3Wire, /* Pt100 Mode:3 Wire Type:0.385 */
  391. Pt100_385_24Wire, /* Pt100 Mode:2/4 Wire Type:0.385 */
  392. Pt100_392_3Wire, /* Pt100 Mode:3 Wire Type:0.392 */
  393. Pt100_392_24Wire, /* Pt100 Mode:2/4 Wire Type:0.392 */
  394. Pt1000_385_3Wire, /* Pt1000 Mode:3 Wire Type:0.385 */
  395. Pt1000_385_24Wire, /* Pt1000 Mode:2/4 Wire Type:0.385 */
  396. NiFe604_518_3Wire, /* NiFe604 Mode:3 Wire Type:0.518 */
  397. NiFe604_518_24Wire, /* NiFe604 Mode:2/4 Wire Type:0.518 */
  398. Balco500_518_3Wire, /* Balco500 Mode:3 Wire Type:0.518 */
  399. Balco500_518_24Wire, /* Balco500 Mode:2/4 Wire Type:0.518 */
  400. V_Neg12To12, /* +/- 12 V */
  401. Ntype_Neg270To1300C, /* T/C N type -270~1300 'C, Voltage Range: -4.345mV~47.513mV */
  402. /* 0xC000 ~ 0xF000 : user customized value range type */
  403. UserCustomizedVrgStart = 0xC000,
  404. UserCustomizedVrgEnd = 0xF000,
  405. /* AO external reference type */
  406. V_ExternalRefBipolar = 0xF001, /* External reference voltage unipolar */
  407. V_ExternalRefUnipolar = 0xF002, /* External reference voltage bipolar */
  408. /*----------------------------------------------------------------------*/
  409. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  410. V_OMIT = 0xffffffff, /* Unknown when get, ignored when set */
  411. } ValueRange;
  412. typedef enum SignalPolarity {
  413. Negative = 0,
  414. Positive,
  415. /*----------------------------------------------------------------------*/
  416. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  417. PolarityUnknown = 0xffffffff,
  418. } SignalPolarity;
  419. typedef enum CountingType {
  420. CountingNone = 0,
  421. DownCount, /* counter value decreases on each clock */
  422. UpCount, /* counter value increases on each clock */
  423. PulseDirection, /* counting direction is determined by two signals, one is clock, the other is direction signal */
  424. TwoPulse, /* counting direction is determined by two signals, one is up-counting signal, the other is down-counting signal */
  425. AbPhaseX1, /* AB phase, 1x rate up/down counting */
  426. AbPhaseX2, /* AB phase, 2x rate up/down counting */
  427. AbPhaseX4, /* AB phase, 4x rate up/down counting */
  428. /*----------------------------------------------------------------------*/
  429. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  430. CountingUnknown = 0xffffffff,
  431. } CountingType;
  432. /*for compatible*/
  433. typedef CountingType SignalCountingType;
  434. typedef enum OutSignalType{
  435. SignalOutNone = 0, /* no output or output is 'disabled' */
  436. ChipDefined, /* hardware chip defined */
  437. NegChipDefined, /* hardware chip defined, negative logical */
  438. PositivePulse, /* a low-to-high pulse */
  439. NegativePulse, /* a high-to-low pulse */
  440. ToggledFromLow, /* the level toggled from low to high */
  441. ToggledFromHigh, /* the level toggled from high to low */
  442. /*----------------------------------------------------------------------*/
  443. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  444. OutSignalUnknown = 0xffffffff,
  445. } OutSignalType;
  446. typedef enum CounterCapability {
  447. Primary = 1,
  448. InstantEventCount,
  449. OneShot,
  450. TimerPulse,
  451. InstantFreqMeter,
  452. InstantPwmIn,
  453. InstantPwmOut,
  454. UpDownCount,
  455. BufferedEventCount,
  456. BufferedPwmIn,
  457. BufferedPwmOut,
  458. BufferedUpDownCount,
  459. InstantEdgeSeparation,
  460. AbsoluteCount,
  461. /*----------------------------------------------------------------------*/
  462. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  463. CapabilityUnknown = 0xffffffff,
  464. } CounterCapability;
  465. typedef enum CounterOperationMode {
  466. C8254_M0 = 0, /*8254 mode 0, interrupt on terminal count */
  467. C8254_M1, /*8254 mode 1, hardware retriggerable one-shot */
  468. C8254_M2, /*8254 mode 2, rate generator */
  469. C8254_M3, /*8254 mode 3, square save mode */
  470. C8254_M4, /*8254 mode 4, software triggered strobe */
  471. C8254_M5, /*8254 mode 5, hardware triggered strobe */
  472. C1780_MA, /* Mode A level & pulse out, Software-Triggered without Hardware Gating */
  473. C1780_MB, /* Mode B level & pulse out, Software-Triggered with Level Gating, = 8254_M0 */
  474. C1780_MC, /* Mode C level & pulse out, Hardware-triggered strobe level */
  475. C1780_MD, /* Mode D level & Pulse out, Rate generate with no hardware gating */
  476. C1780_ME, /* Mode E level & pulse out, Rate generator with level Gating */
  477. C1780_MF, /* Mode F level & pulse out, Non-retriggerable One-shot (Pulse type = 8254_M1) */
  478. C1780_MG, /* Mode G level & pulse out, Software-triggered delayed pulse one-shot */
  479. C1780_MH, /* Mode H level & pulse out, Software-triggered delayed pulse one-shot with hardware gating */
  480. C1780_MI, /* Mode I level & pulse out, Hardware-triggered delay pulse strobe */
  481. C1780_MJ, /* Mode J level & pulse out, Variable Duty Cycle Rate Generator with No Hardware Gating */
  482. C1780_MK, /* Mode K level & pulse out, Variable Duty Cycle Rate Generator with Level Gating */
  483. C1780_ML, /* Mode L level & pulse out, Hardware-Triggered Delayed Pulse One-Shot */
  484. C1780_MO, /* Mode O level & pulse out, Hardware-Triggered Strobe with Edge Disarm */
  485. C1780_MR, /* Mode R level & pulse out, Non-Retriggerbale One-Shot with Edge Disarm */
  486. C1780_MU, /* Mode U level & pulse out, Hardware-Triggered Delayed Pulse Strobe with Edge Disarm */
  487. C1780_MX, /* Mode X level & pulse out, Hardware-Triggered Delayed Pulse One-Shot with Edge Disarm */
  488. /*----------------------------------------------------------------------*/
  489. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  490. OpModeUnknown = 0xffffffff,
  491. } CounterOperationMode;
  492. typedef enum CounterValueRegister {
  493. CntLoad,
  494. CntPreset = CntLoad,
  495. CntHold,
  496. CntOverCompare,
  497. CntUnderCompare,
  498. /*----------------------------------------------------------------------*/
  499. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  500. RegisterUnknown = 0xffffffff,
  501. } CounterValueRegister;
  502. typedef enum CounterCascadeGroup {
  503. GroupNone = 0, /* no cascade*/
  504. Cnt0Cnt1, /* Counter 0 as first, counter 1 as second. */
  505. Cnt2Cnt3, /* Counter 2 as first, counter 3 as second */
  506. Cnt4Cnt5, /* Counter 4 as first, counter 5 as second */
  507. Cnt6Cnt7, /* Counter 6 as first, counter 7 as second */
  508. /*----------------------------------------------------------------------*/
  509. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  510. CascadeUnknown = 0xffffffff,
  511. } CounterCascadeGroup;
  512. typedef enum FreqMeasureMethod {
  513. AutoAdaptive = 0, /* Intelligently select the measurement method according to the input signal. */
  514. CountingPulseBySysTime, /* Using system timing clock to calculate the frequency */
  515. CountingPulseByDevTime, /* Using the device timing clock to calculate the frequency */
  516. PeriodInverse, /* Calculate the frequency from the period of the signal */
  517. /*----------------------------------------------------------------------*/
  518. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  519. MethodUnknown = 0xffffffff,
  520. } FreqMeasureMethod;
  521. typedef enum ActiveSignal {
  522. ActiveNone = 0,
  523. RisingEdge,
  524. FallingEdge,
  525. BothEdge,
  526. HighLevel,
  527. LowLevel,
  528. /*----------------------------------------------------------------------*/
  529. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  530. ActSignalUnknown = 0xffffffff,
  531. } ActiveSignal;
  532. typedef enum TriggerAction {
  533. ActionNone = 0, /* No action to take even if the trigger condition is satisfied */
  534. DelayToStart, /* Begin to start after the specified time is elapsed if the trigger condition is satisfied */
  535. DelayToStop, /* Stop execution after the specified time is elapsed if the trigger condition is satisfied */
  536. Mark, /* Generate a mark data*/
  537. /*----------------------------------------------------------------------*/
  538. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  539. ActionUnknown = 0xffffffff,
  540. } TriggerAction;
  541. typedef enum SignalPosition {
  542. InternalSig = 0,
  543. OnConnector,
  544. OnAmsi,
  545. /*----------------------------------------------------------------------*/
  546. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  547. PositionUnknown = 0xffffffff,
  548. } SignalPosition;
  549. typedef enum SignalDirection {
  550. SigInput,
  551. SigOutput,
  552. /*----------------------------------------------------------------------*/
  553. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  554. SigDirUnknown = 0xffffffff,
  555. } SignalDirection;
  556. typedef enum SignalDrop {
  557. SignalNone = 0, /* No connection */
  558. /*Internal signal connector*/
  559. SigInternalClock, /* Device built-in clock, If the device has several built-in clock, this represent the highest freq one. */
  560. SigInternal1KHz, /* Device built-in clock, 1KHz */
  561. SigInternal10KHz, /* Device built-in clock, 10KHz */
  562. SigInternal100KHz, /* Device built-in clock, 100KHz */
  563. SigInternal1MHz, /* Device built-in clock, 1MHz */
  564. SigInternal10MHz, /* Device built-in clock, 10MHz */
  565. SigInternal20MHz, /* Device built-in clock, 20MHz */
  566. SigInternal30MHz, /* Device built-in clock, 30MHz */
  567. SigInternal40MHz, /* Device built-in clock, 40MHz */
  568. SigInternal50MHz, /* Device built-in clock, 50MHz */
  569. SigInternal60MHz, /* Device built-in clock, 60MHz */
  570. SigDiPatternMatch, /* When DI pattern match occurred */
  571. SigDiStatusChange, /* When DI status change occurred */
  572. /*Function pin on connector*/
  573. SigExtAnaClock, /* Analog clock pin of connector */
  574. SigExtAnaScanClock, /* scan clock pin of connector */
  575. SigExtAnaTrigger, /* external analog trigger pin of connector */
  576. SigExtAnaTrigger0 = SigExtAnaTrigger, /* external analog trigger pin of connector 0*/
  577. SigExtDigClock, /* digital clock pin of connector */
  578. SigExtDigTrigger0, /* external digital trigger 0 pin(or DI start trigger pin) of connector */
  579. SigExtDigTrigger1, /* external digital trigger 1 pin(or DI stop trigger pin) of connector */
  580. SigExtDigTrigger2, /* external digital trigger 2 pin(or DO start trigger pin) of connector */
  581. SigExtDigTrigger3, /* external digital trigger 3 pin(or DO stop trigger pin) of connector */
  582. SigCHFrzDo, /* Channel freeze DO ports pin */
  583. /*Signal source or target on the connector*/
  584. /*AI channel pins*/
  585. SigAi0, SigAi1, SigAi2, SigAi3, SigAi4, SigAi5, SigAi6, SigAi7,
  586. SigAi8, SigAi9, SigAi10, SigAi11, SigAi12, SigAi13, SigAi14, SigAi15,
  587. SigAi16, SigAi17, SigAi18, SigAi19, SigAi20, SigAi21, SigAi22, SigAi23,
  588. SigAi24, SigAi25, SigAi26, SigAi27, SigAi28, SigAi29, SigAi30, SigAi31,
  589. SigAi32, SigAi33, SigAi34, SigAi35, SigAi36, SigAi37, SigAi38, SigAi39,
  590. SigAi40, SigAi41, SigAi42, SigAi43, SigAi44, SigAi45, SigAi46, SigAi47,
  591. SigAi48, SigAi49, SigAi50, SigAi51, SigAi52, SigAi53, SigAi54, SigAi55,
  592. SigAi56, SigAi57, SigAi58, SigAi59, SigAi60, SigAi61, SigAi62, SigAi63,
  593. /*AO channel pins*/
  594. SigAo0, SigAo1, SigAo2, SigAo3, SigAo4, SigAo5, SigAo6, SigAo7,
  595. SigAo8, SigAo9, SigAo10, SigAo11, SigAo12, SigAo13, SigAo14, SigAo15,
  596. SigAo16, SigAo17, SigAo18, SigAo19, SigAo20, SigAo21, SigAo22, SigAo23,
  597. SigAo24, SigAo25, SigAo26, SigAo27, SigAo28, SigAo29, SigAo30, SigAo31,
  598. /*DI pins*/
  599. SigDi0, SigDi1, SigDi2, SigDi3, SigDi4, SigDi5, SigDi6, SigDi7,
  600. SigDi8, SigDi9, SigDi10, SigDi11, SigDi12, SigDi13, SigDi14, SigDi15,
  601. SigDi16, SigDi17, SigDi18, SigDi19, SigDi20, SigDi21, SigDi22, SigDi23,
  602. SigDi24, SigDi25, SigDi26, SigDi27, SigDi28, SigDi29, SigDi30, SigDi31,
  603. SigDi32, SigDi33, SigDi34, SigDi35, SigDi36, SigDi37, SigDi38, SigDi39,
  604. SigDi40, SigDi41, SigDi42, SigDi43, SigDi44, SigDi45, SigDi46, SigDi47,
  605. SigDi48, SigDi49, SigDi50, SigDi51, SigDi52, SigDi53, SigDi54, SigDi55,
  606. SigDi56, SigDi57, SigDi58, SigDi59, SigDi60, SigDi61, SigDi62, SigDi63,
  607. SigDi64, SigDi65, SigDi66, SigDi67, SigDi68, SigDi69, SigDi70, SigDi71,
  608. SigDi72, SigDi73, SigDi74, SigDi75, SigDi76, SigDi77, SigDi78, SigDi79,
  609. SigDi80, SigDi81, SigDi82, SigDi83, SigDi84, SigDi85, SigDi86, SigDi87,
  610. SigDi88, SigDi89, SigDi90, SigDi91, SigDi92, SigDi93, SigDi94, SigDi95,
  611. SigDi96, SigDi97, SigDi98, SigDi99, SigDi100, SigDi101, SigDi102, SigDi103,
  612. SigDi104, SigDi105, SigDi106, SigDi107, SigDi108, SigDi109, SigDi110, SigDi111,
  613. SigDi112, SigDi113, SigDi114, SigDi115, SigDi116, SigDi117, SigDi118, SigDi119,
  614. SigDi120, SigDi121, SigDi122, SigDi123, SigDi124, SigDi125, SigDi126, SigDi127,
  615. SigDi128, SigDi129, SigDi130, SigDi131, SigDi132, SigDi133, SigDi134, SigDi135,
  616. SigDi136, SigDi137, SigDi138, SigDi139, SigDi140, SigDi141, SigDi142, SigDi143,
  617. SigDi144, SigDi145, SigDi146, SigDi147, SigDi148, SigDi149, SigDi150, SigDi151,
  618. SigDi152, SigDi153, SigDi154, SigDi155, SigDi156, SigDi157, SigDi158, SigDi159,
  619. SigDi160, SigDi161, SigDi162, SigDi163, SigDi164, SigDi165, SigDi166, SigDi167,
  620. SigDi168, SigDi169, SigDi170, SigDi171, SigDi172, SigDi173, SigDi174, SigDi175,
  621. SigDi176, SigDi177, SigDi178, SigDi179, SigDi180, SigDi181, SigDi182, SigDi183,
  622. SigDi184, SigDi185, SigDi186, SigDi187, SigDi188, SigDi189, SigDi190, SigDi191,
  623. SigDi192, SigDi193, SigDi194, SigDi195, SigDi196, SigDi197, SigDi198, SigDi199,
  624. SigDi200, SigDi201, SigDi202, SigDi203, SigDi204, SigDi205, SigDi206, SigDi207,
  625. SigDi208, SigDi209, SigDi210, SigDi211, SigDi212, SigDi213, SigDi214, SigDi215,
  626. SigDi216, SigDi217, SigDi218, SigDi219, SigDi220, SigDi221, SigDi222, SigDi223,
  627. SigDi224, SigDi225, SigDi226, SigDi227, SigDi228, SigDi229, SigDi230, SigDi231,
  628. SigDi232, SigDi233, SigDi234, SigDi235, SigDi236, SigDi237, SigDi238, SigDi239,
  629. SigDi240, SigDi241, SigDi242, SigDi243, SigDi244, SigDi245, SigDi246, SigDi247,
  630. SigDi248, SigDi249, SigDi250, SigDi251, SigDi252, SigDi253, SigDi254, SigDi255,
  631. /*DIO pins*/
  632. SigDio0, SigDio1, SigDio2, SigDio3, SigDio4, SigDio5, SigDio6, SigDio7,
  633. SigDio8, SigDio9, SigDio10, SigDio11, SigDio12, SigDio13, SigDio14, SigDio15,
  634. SigDio16, SigDio17, SigDio18, SigDio19, SigDio20, SigDio21, SigDio22, SigDio23,
  635. SigDio24, SigDio25, SigDio26, SigDio27, SigDio28, SigDio29, SigDio30, SigDio31,
  636. SigDio32, SigDio33, SigDio34, SigDio35, SigDio36, SigDio37, SigDio38, SigDio39,
  637. SigDio40, SigDio41, SigDio42, SigDio43, SigDio44, SigDio45, SigDio46, SigDio47,
  638. SigDio48, SigDio49, SigDio50, SigDio51, SigDio52, SigDio53, SigDio54, SigDio55,
  639. SigDio56, SigDio57, SigDio58, SigDio59, SigDio60, SigDio61, SigDio62, SigDio63,
  640. SigDio64, SigDio65, SigDio66, SigDio67, SigDio68, SigDio69, SigDio70, SigDio71,
  641. SigDio72, SigDio73, SigDio74, SigDio75, SigDio76, SigDio77, SigDio78, SigDio79,
  642. SigDio80, SigDio81, SigDio82, SigDio83, SigDio84, SigDio85, SigDio86, SigDio87,
  643. SigDio88, SigDio89, SigDio90, SigDio91, SigDio92, SigDio93, SigDio94, SigDio95,
  644. SigDio96, SigDio97, SigDio98, SigDio99, SigDio100, SigDio101, SigDio102, SigDio103,
  645. SigDio104, SigDio105, SigDio106, SigDio107, SigDio108, SigDio109, SigDio110, SigDio111,
  646. SigDio112, SigDio113, SigDio114, SigDio115, SigDio116, SigDio117, SigDio118, SigDio119,
  647. SigDio120, SigDio121, SigDio122, SigDio123, SigDio124, SigDio125, SigDio126, SigDio127,
  648. SigDio128, SigDio129, SigDio130, SigDio131, SigDio132, SigDio133, SigDio134, SigDio135,
  649. SigDio136, SigDio137, SigDio138, SigDio139, SigDio140, SigDio141, SigDio142, SigDio143,
  650. SigDio144, SigDio145, SigDio146, SigDio147, SigDio148, SigDio149, SigDio150, SigDio151,
  651. SigDio152, SigDio153, SigDio154, SigDio155, SigDio156, SigDio157, SigDio158, SigDio159,
  652. SigDio160, SigDio161, SigDio162, SigDio163, SigDio164, SigDio165, SigDio166, SigDio167,
  653. SigDio168, SigDio169, SigDio170, SigDio171, SigDio172, SigDio173, SigDio174, SigDio175,
  654. SigDio176, SigDio177, SigDio178, SigDio179, SigDio180, SigDio181, SigDio182, SigDio183,
  655. SigDio184, SigDio185, SigDio186, SigDio187, SigDio188, SigDio189, SigDio190, SigDio191,
  656. SigDio192, SigDio193, SigDio194, SigDio195, SigDio196, SigDio197, SigDio198, SigDio199,
  657. SigDio200, SigDio201, SigDio202, SigDio203, SigDio204, SigDio205, SigDio206, SigDio207,
  658. SigDio208, SigDio209, SigDio210, SigDio211, SigDio212, SigDio213, SigDio214, SigDio215,
  659. SigDio216, SigDio217, SigDio218, SigDio219, SigDio220, SigDio221, SigDio222, SigDio223,
  660. SigDio224, SigDio225, SigDio226, SigDio227, SigDio228, SigDio229, SigDio230, SigDio231,
  661. SigDio232, SigDio233, SigDio234, SigDio235, SigDio236, SigDio237, SigDio238, SigDio239,
  662. SigDio240, SigDio241, SigDio242, SigDio243, SigDio244, SigDio245, SigDio246, SigDio247,
  663. SigDio248, SigDio249, SigDio250, SigDio251, SigDio252, SigDio253, SigDio254, SigDio255,
  664. /*Counter clock pins*/
  665. SigCntClk0, SigCntClk1, SigCntClk2, SigCntClk3, SigCntClk4, SigCntClk5, SigCntClk6, SigCntClk7,
  666. /*counter gate pins*/
  667. SigCntGate0, SigCntGate1, SigCntGate2, SigCntGate3, SigCntGate4, SigCntGate5, SigCntGate6, SigCntGate7,
  668. /*counter out pins*/
  669. SigCntOut0, SigCntOut1, SigCntOut2, SigCntOut3, SigCntOut4, SigCntOut5, SigCntOut6, SigCntOut7,
  670. /*counter frequency out pins*/
  671. SigCntFout0, SigCntFout1, SigCntFout2, SigCntFout3, SigCntFout4, SigCntFout5, SigCntFout6, SigCntFout7,
  672. /*AMSI pins*/
  673. SigAmsiPin0, SigAmsiPin1, SigAmsiPin2, SigAmsiPin3, SigAmsiPin4, SigAmsiPin5, SigAmsiPin6, SigAmsiPin7,
  674. SigAmsiPin8, SigAmsiPin9, SigAmsiPin10, SigAmsiPin11, SigAmsiPin12, SigAmsiPin13, SigAmsiPin14, SigAmsiPin15,
  675. SigAmsiPin16, SigAmsiPin17, SigAmsiPin18, SigAmsiPin19,
  676. /*new clocks*/
  677. SigInternal2Hz, /* Device built-in clock, 2Hz */
  678. SigInternal20Hz, /* Device built-in clock, 20Hz */
  679. SigInternal200Hz, /* Device built-in clock, 200KHz */
  680. SigInternal2KHz, /* Device built-in clock, 2KHz */
  681. SigInternal20KHz, /* Device built-in clock, 20KHz */
  682. SigInternal200KHz, /* Device built-in clock, 200KHz */
  683. SigInternal2MHz, /* Device built-in clock, 2MHz */
  684. /*New Function pin on connector*/
  685. SigExtAnaTrigger1, /* external analog trigger pin of connector 1 */
  686. /*Reference clock*/
  687. SigExtDigRefClock, /* digital clock pin of connector */
  688. SigInternal100MHz,
  689. SigAiConvClock,
  690. /*digital trigger from master after ADC latency*/
  691. SigExtDigTrgAdcLatency,
  692. SigExtDigTrg0AdcLatency = SigExtDigTrgAdcLatency,
  693. SigExtDigTrg1AdcLatency,
  694. /*digital trigger from master/MSDI pin after ADC latency*/
  695. SigMDSITrg0,
  696. SigMDSITrg1,
  697. SigMDSITrg0AdcLatency,
  698. SigMDSITrg1AdcLatency,
  699. /*reference clock source from master/MDSI pin*/
  700. SigMDSIRefClock,
  701. SigMDSIClock,
  702. /*When DI Port x pattern match occurred*/
  703. SigDiPatternMatch0, SigDiPatternMatch1, SigDiPatternMatch2, SigDiPatternMatch3, SigDiPatternMatch4,
  704. SigDiPatternMatch5, SigDiPatternMatch6, SigDiPatternMatch7, SigDiPatternMatch8, SigDiPatternMatch9,
  705. SigDiPatternMatch10, SigDiPatternMatch11, SigDiPatternMatch12, SigDiPatternMatch13, SigDiPatternMatch14,
  706. SigDiPatternMatch15, SigDiPatternMatch16, SigDiPatternMatch17, SigDiPatternMatch18, SigDiPatternMatch19,
  707. SigDiPatternMatch20, SigDiPatternMatch21, SigDiPatternMatch22, SigDiPatternMatch23, SigDiPatternMatch24,
  708. SigDiPatternMatch25, SigDiPatternMatch26, SigDiPatternMatch27, SigDiPatternMatch28, SigDiPatternMatch29,
  709. SigDiPatternMatch30, SigDiPatternMatch31,
  710. /*device internal clock*/
  711. SigInternal16384KHz, /* Device built-in clock, 16.384MHz */
  712. /*signals for fusion device*/
  713. SigSyncJunction,
  714. SigConvClkJunction,
  715. SigClkDivJunction,
  716. SigTrgStrJunction,
  717. SigTrgStpJunction,
  718. SigAcqStaJunction,
  719. SigClkDiv0, SigClkDiv1, SigClkDiv2, SigClkDiv3, SigClkDiv4, SigClkDiv5, SigClkDiv6, SigClkDiv7,
  720. SigClkDiv8, SigClkDiv9, SigClkDiv10, SigClkDiv11, SigClkDiv12, SigClkDiv13, SigClkDiv14, SigClkDiv15,
  721. SigAcqEng0, SigAcqEng1, SigAcqEng2, SigAcqEng3, SigAcqEng4, SigAcqEng5, SigAcqEng6, SigAcqEng7,
  722. SigAcqEng8, SigAcqEng9, SigAcqEng10, SigAcqEng11, SigAcqEng12, SigAcqEng13, SigAcqEng14, SigAcqEng15,
  723. SigSwTrg0, SigSwTrg1, SigSwTrg2, SigSwTrg3, SigSwTrg4, SigSwTrg5, SigSwTrg6, SigSwTrg7,
  724. SigSwTrg8, SigSwTrg9, SigSwTrg10, SigSwTrg11, SigSwTrg12, SigSwTrg13, SigSwTrg14, SigSwTrg15,
  725. SigSwTrg16, SigSwTrg17, SigSwTrg18, SigSwTrg19, SigSwTrg20, SigSwTrg21, SigSwTrg22, SigSwTrg23,
  726. SigSwTrg24, SigSwTrg25, SigSwTrg26, SigSwTrg27, SigSwTrg28, SigSwTrg29, SigSwTrg30, SigSwTrg31,
  727. SigBpSlotIn0, SigBpSlotIn1, SigBpSlotIn2, SigBpSlotIn3, SigBpSlotIn4, SigBpSlotIn5, SigBpSlotIn6, SigBpSlotIn7,
  728. SigBpSlotIn8, SigBpSlotIn9, SigBpSlotIn10, SigBpSlotIn11, SigBpSlotIn12, SigBpSlotIn13, SigBpSlotIn14, SigBpSlotIn15,
  729. SigSlotOut,
  730. SigPFP0, SigPFP1, SigPFP2, SigPFP3, SigPFP4, SigPFP5, SigPFP6, SigPFP7,
  731. SigClkGen0, SigClkGen1, SigClkGen2, SigClkGen3,
  732. /*----------------------------------------------------------------------*/
  733. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  734. SigDropUnknown = 0xffffffff,
  735. } SignalDrop;
  736. /*
  737. * Event Id
  738. */
  739. typedef enum EventId {
  740. EvtDeviceRemoved = 0, /* The device was removed from system */
  741. EvtDeviceReconnected, /* The device is reconnected */
  742. EvtPropertyChanged, /* Some properties of the device were changed */
  743. /*-----------------------------------------------------------------
  744. * AI events
  745. *-----------------------------------------------------------------*/
  746. EvtBufferedAiDataReady,
  747. EvtBufferedAiOverrun,
  748. EvtBufferedAiCacheOverflow,
  749. EvtBufferedAiStopped,
  750. /*-----------------------------------------------------------------
  751. * AO event IDs
  752. *-----------------------------------------------------------------*/
  753. EvtBufferedAoDataTransmitted,
  754. EvtBufferedAoUnderrun,
  755. EvtBufferedAoCacheEmptied,
  756. EvtBufferedAoTransStopped,
  757. EvtBufferedAoStopped,
  758. /*-----------------------------------------------------------------
  759. * DIO event IDs
  760. *-----------------------------------------------------------------*/
  761. EvtDiInterrupt, EvtDiintChannel000 = EvtDiInterrupt,
  762. EvtDiintChannel001, EvtDiintChannel002, EvtDiintChannel003,
  763. EvtDiintChannel004, EvtDiintChannel005, EvtDiintChannel006, EvtDiintChannel007,
  764. EvtDiintChannel008, EvtDiintChannel009, EvtDiintChannel010, EvtDiintChannel011,
  765. EvtDiintChannel012, EvtDiintChannel013, EvtDiintChannel014, EvtDiintChannel015,
  766. EvtDiintChannel016, EvtDiintChannel017, EvtDiintChannel018, EvtDiintChannel019,
  767. EvtDiintChannel020, EvtDiintChannel021, EvtDiintChannel022, EvtDiintChannel023,
  768. EvtDiintChannel024, EvtDiintChannel025, EvtDiintChannel026, EvtDiintChannel027,
  769. EvtDiintChannel028, EvtDiintChannel029, EvtDiintChannel030, EvtDiintChannel031,
  770. EvtDiintChannel032, EvtDiintChannel033, EvtDiintChannel034, EvtDiintChannel035,
  771. EvtDiintChannel036, EvtDiintChannel037, EvtDiintChannel038, EvtDiintChannel039,
  772. EvtDiintChannel040, EvtDiintChannel041, EvtDiintChannel042, EvtDiintChannel043,
  773. EvtDiintChannel044, EvtDiintChannel045, EvtDiintChannel046, EvtDiintChannel047,
  774. EvtDiintChannel048, EvtDiintChannel049, EvtDiintChannel050, EvtDiintChannel051,
  775. EvtDiintChannel052, EvtDiintChannel053, EvtDiintChannel054, EvtDiintChannel055,
  776. EvtDiintChannel056, EvtDiintChannel057, EvtDiintChannel058, EvtDiintChannel059,
  777. EvtDiintChannel060, EvtDiintChannel061, EvtDiintChannel062, EvtDiintChannel063,
  778. EvtDiintChannel064, EvtDiintChannel065, EvtDiintChannel066, EvtDiintChannel067,
  779. EvtDiintChannel068, EvtDiintChannel069, EvtDiintChannel070, EvtDiintChannel071,
  780. EvtDiintChannel072, EvtDiintChannel073, EvtDiintChannel074, EvtDiintChannel075,
  781. EvtDiintChannel076, EvtDiintChannel077, EvtDiintChannel078, EvtDiintChannel079,
  782. EvtDiintChannel080, EvtDiintChannel081, EvtDiintChannel082, EvtDiintChannel083,
  783. EvtDiintChannel084, EvtDiintChannel085, EvtDiintChannel086, EvtDiintChannel087,
  784. EvtDiintChannel088, EvtDiintChannel089, EvtDiintChannel090, EvtDiintChannel091,
  785. EvtDiintChannel092, EvtDiintChannel093, EvtDiintChannel094, EvtDiintChannel095,
  786. EvtDiintChannel096, EvtDiintChannel097, EvtDiintChannel098, EvtDiintChannel099,
  787. EvtDiintChannel100, EvtDiintChannel101, EvtDiintChannel102, EvtDiintChannel103,
  788. EvtDiintChannel104, EvtDiintChannel105, EvtDiintChannel106, EvtDiintChannel107,
  789. EvtDiintChannel108, EvtDiintChannel109, EvtDiintChannel110, EvtDiintChannel111,
  790. EvtDiintChannel112, EvtDiintChannel113, EvtDiintChannel114, EvtDiintChannel115,
  791. EvtDiintChannel116, EvtDiintChannel117, EvtDiintChannel118, EvtDiintChannel119,
  792. EvtDiintChannel120, EvtDiintChannel121, EvtDiintChannel122, EvtDiintChannel123,
  793. EvtDiintChannel124, EvtDiintChannel125, EvtDiintChannel126, EvtDiintChannel127,
  794. EvtDiintChannel128, EvtDiintChannel129, EvtDiintChannel130, EvtDiintChannel131,
  795. EvtDiintChannel132, EvtDiintChannel133, EvtDiintChannel134, EvtDiintChannel135,
  796. EvtDiintChannel136, EvtDiintChannel137, EvtDiintChannel138, EvtDiintChannel139,
  797. EvtDiintChannel140, EvtDiintChannel141, EvtDiintChannel142, EvtDiintChannel143,
  798. EvtDiintChannel144, EvtDiintChannel145, EvtDiintChannel146, EvtDiintChannel147,
  799. EvtDiintChannel148, EvtDiintChannel149, EvtDiintChannel150, EvtDiintChannel151,
  800. EvtDiintChannel152, EvtDiintChannel153, EvtDiintChannel154, EvtDiintChannel155,
  801. EvtDiintChannel156, EvtDiintChannel157, EvtDiintChannel158, EvtDiintChannel159,
  802. EvtDiintChannel160, EvtDiintChannel161, EvtDiintChannel162, EvtDiintChannel163,
  803. EvtDiintChannel164, EvtDiintChannel165, EvtDiintChannel166, EvtDiintChannel167,
  804. EvtDiintChannel168, EvtDiintChannel169, EvtDiintChannel170, EvtDiintChannel171,
  805. EvtDiintChannel172, EvtDiintChannel173, EvtDiintChannel174, EvtDiintChannel175,
  806. EvtDiintChannel176, EvtDiintChannel177, EvtDiintChannel178, EvtDiintChannel179,
  807. EvtDiintChannel180, EvtDiintChannel181, EvtDiintChannel182, EvtDiintChannel183,
  808. EvtDiintChannel184, EvtDiintChannel185, EvtDiintChannel186, EvtDiintChannel187,
  809. EvtDiintChannel188, EvtDiintChannel189, EvtDiintChannel190, EvtDiintChannel191,
  810. EvtDiintChannel192, EvtDiintChannel193, EvtDiintChannel194, EvtDiintChannel195,
  811. EvtDiintChannel196, EvtDiintChannel197, EvtDiintChannel198, EvtDiintChannel199,
  812. EvtDiintChannel200, EvtDiintChannel201, EvtDiintChannel202, EvtDiintChannel203,
  813. EvtDiintChannel204, EvtDiintChannel205, EvtDiintChannel206, EvtDiintChannel207,
  814. EvtDiintChannel208, EvtDiintChannel209, EvtDiintChannel210, EvtDiintChannel211,
  815. EvtDiintChannel212, EvtDiintChannel213, EvtDiintChannel214, EvtDiintChannel215,
  816. EvtDiintChannel216, EvtDiintChannel217, EvtDiintChannel218, EvtDiintChannel219,
  817. EvtDiintChannel220, EvtDiintChannel221, EvtDiintChannel222, EvtDiintChannel223,
  818. EvtDiintChannel224, EvtDiintChannel225, EvtDiintChannel226, EvtDiintChannel227,
  819. EvtDiintChannel228, EvtDiintChannel229, EvtDiintChannel230, EvtDiintChannel231,
  820. EvtDiintChannel232, EvtDiintChannel233, EvtDiintChannel234, EvtDiintChannel235,
  821. EvtDiintChannel236, EvtDiintChannel237, EvtDiintChannel238, EvtDiintChannel239,
  822. EvtDiintChannel240, EvtDiintChannel241, EvtDiintChannel242, EvtDiintChannel243,
  823. EvtDiintChannel244, EvtDiintChannel245, EvtDiintChannel246, EvtDiintChannel247,
  824. EvtDiintChannel248, EvtDiintChannel249, EvtDiintChannel250, EvtDiintChannel251,
  825. EvtDiintChannel252, EvtDiintChannel253, EvtDiintChannel254, EvtDiintChannel255,
  826. EvtDiStatusChange, EvtDiCosintPort000 = EvtDiStatusChange,
  827. EvtDiCosintPort001, EvtDiCosintPort002, EvtDiCosintPort003,
  828. EvtDiCosintPort004, EvtDiCosintPort005, EvtDiCosintPort006, EvtDiCosintPort007,
  829. EvtDiCosintPort008, EvtDiCosintPort009, EvtDiCosintPort010, EvtDiCosintPort011,
  830. EvtDiCosintPort012, EvtDiCosintPort013, EvtDiCosintPort014, EvtDiCosintPort015,
  831. EvtDiCosintPort016, EvtDiCosintPort017, EvtDiCosintPort018, EvtDiCosintPort019,
  832. EvtDiCosintPort020, EvtDiCosintPort021, EvtDiCosintPort022, EvtDiCosintPort023,
  833. EvtDiCosintPort024, EvtDiCosintPort025, EvtDiCosintPort026, EvtDiCosintPort027,
  834. EvtDiCosintPort028, EvtDiCosintPort029, EvtDiCosintPort030, EvtDiCosintPort031,
  835. EvtDiPatternMatch, EvtDiPmintPort000 = EvtDiPatternMatch,
  836. EvtDiPmintPort001, EvtDiPmintPort002, EvtDiPmintPort003,
  837. EvtDiPmintPort004, EvtDiPmintPort005, EvtDiPmintPort006, EvtDiPmintPort007,
  838. EvtDiPmintPort008, EvtDiPmintPort009, EvtDiPmintPort010, EvtDiPmintPort011,
  839. EvtDiPmintPort012, EvtDiPmintPort013, EvtDiPmintPort014, EvtDiPmintPort015,
  840. EvtDiPmintPort016, EvtDiPmintPort017, EvtDiPmintPort018, EvtDiPmintPort019,
  841. EvtDiPmintPort020, EvtDiPmintPort021, EvtDiPmintPort022, EvtDiPmintPort023,
  842. EvtDiPmintPort024, EvtDiPmintPort025, EvtDiPmintPort026, EvtDiPmintPort027,
  843. EvtDiPmintPort028, EvtDiPmintPort029, EvtDiPmintPort030, EvtDiPmintPort031,
  844. EvtBufferedDiDataReady,
  845. EvtBufferedDiOverrun,
  846. EvtBufferedDiCacheOverflow,
  847. EvtBufferedDiStopped,
  848. EvtBufferedDoDataTransmitted,
  849. EvtBufferedDoUnderrun,
  850. EvtBufferedDoCacheEmptied,
  851. EvtBufferedDoTransStopped,
  852. EvtBufferedDoStopped,
  853. EvtReflectWdtOccured,
  854. /*-----------------------------------------------------------------
  855. * Counter/Timer event IDs
  856. *-----------------------------------------------------------------*/
  857. EvtCntTerminalCount0, EvtCntTerminalCount1, EvtCntTerminalCount2, EvtCntTerminalCount3,
  858. EvtCntTerminalCount4, EvtCntTerminalCount5, EvtCntTerminalCount6, EvtCntTerminalCount7,
  859. EvtCntOverCompare0, EvtCntOverCompare1, EvtCntOverCompare2, EvtCntOverCompare3,
  860. EvtCntOverCompare4, EvtCntOverCompare5, EvtCntOverCompare6, EvtCntOverCompare7,
  861. EvtCntUnderCompare0, EvtCntUnderCompare1, EvtCntUnderCompare2, EvtCntUnderCompare3,
  862. EvtCntUnderCompare4, EvtCntUnderCompare5, EvtCntUnderCompare6, EvtCntUnderCompare7,
  863. EvtCntEcOverCompare0, EvtCntEcOverCompare1, EvtCntEcOverCompare2, EvtCntEcOverCompare3,
  864. EvtCntEcOverCompare4, EvtCntEcOverCompare5, EvtCntEcOverCompare6, EvtCntEcOverCompare7,
  865. EvtCntEcUnderCompare0, EvtCntEcUnderCompare1, EvtCntEcUnderCompare2, EvtCntEcUnderCompare3,
  866. EvtCntEcUnderCompare4, EvtCntEcUnderCompare5, EvtCntEcUnderCompare6, EvtCntEcUnderCompare7,
  867. EvtCntOneShot0, EvtCntOneShot1, EvtCntOneShot2, EvtCntOneShot3,
  868. EvtCntOneShot4, EvtCntOneShot5, EvtCntOneShot6, EvtCntOneShot7,
  869. EvtCntTimer0, EvtCntTimer1, EvtCntTimer2, EvtCntTimer3,
  870. EvtCntTimer4, EvtCntTimer5, EvtCntTimer6, EvtCntTimer7,
  871. EvtCntPwmInOverflow0, EvtCntPwmInOverflow1, EvtCntPwmInOverflow2, EvtCntPwmInOverflow3,
  872. EvtCntPwmInOverflow4, EvtCntPwmInOverflow5, EvtCntPwmInOverflow6, EvtCntPwmInOverflow7,
  873. EvtUdIndex0, EvtUdIndex1, EvtUdIndex2, EvtUdIndex3,
  874. EvtUdIndex4, EvtUdIndex5, EvtUdIndex6, EvtUdIndex7,
  875. EvtCntPatternMatch0, EvtCntPatternMatch1, EvtCntPatternMatch2, EvtCntPatternMatch3,
  876. EvtCntPatternMatch4, EvtCntPatternMatch5, EvtCntPatternMatch6, EvtCntPatternMatch7,
  877. EvtCntCompareTableEnd0, EvtCntCompareTableEnd1, EvtCntCompareTableEnd2, EvtCntCompareTableEnd3,
  878. EvtCntCompareTableEnd4, EvtCntCompareTableEnd5, EvtCntCompareTableEnd6, EvtCntCompareTableEnd7,
  879. /*##xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
  880. /*v1.1: new event of AI */
  881. /*##xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
  882. EvtBufferedAiBurnOut,
  883. EvtBufferedAiTimeStampOverrun,
  884. EvtBufferedAiTimeStampCacheOverflow,
  885. EvtBufferedAiMarkOverrun,
  886. EvtBufferedAiConvStopped, /* Reserved for later using */
  887. /*##xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
  888. /*v1.2: new event of Buffered Counter */
  889. /*##xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/
  890. EvtCiDataReady, EvtCiDataReady0 = EvtCiDataReady, EvtCiDataReady1, EvtCiDataReady2,
  891. EvtCiDataReady3, EvtCiDataReady4, EvtCiDataReady5, EvtCiDataReady6, EvtCiDataReady7,
  892. EvtCiOverrun, EvtCiOverrun0 = EvtCiOverrun, EvtCiOverrun1, EvtCiOverrun2,
  893. EvtCiOverrun3, EvtCiOverrun4, EvtCiOverrun5, EvtCiOverrun6, EvtCiOverrun7,
  894. EvtCiCacheOverflow, EvtCiCacheOverflow0 = EvtCiCacheOverflow, EvtCiCacheOverflow1, EvtCiCacheOverflow2,
  895. EvtCiCacheOverflow3, EvtCiCacheOverflow4, EvtCiCacheOverflow5, EvtCiCacheOverflow6, EvtCiCacheOverflow7,
  896. EvtCoDataTransmitted, EvtCoDataTransmitted0 = EvtCoDataTransmitted, EvtCoDataTransmitted1, EvtCoDataTransmitted2,
  897. EvtCoDataTransmitted3, EvtCoDataTransmitted4, EvtCoDataTransmitted5, EvtCoDataTransmitted6, EvtCoDataTransmitted7,
  898. EvtCoUnderrun, EvtCoUnderrun0 = EvtCoUnderrun, EvtCoUnderrun1, EvtCoUnderrun2,
  899. EvtCoUnderrun3, EvtCoUnderrun4, EvtCoUnderrun5, EvtCoUnderrun6, EvtCoUnderrun7,
  900. EvtCoCacheEmptied, EvtCoCacheEmptied0 = EvtCoCacheEmptied, EvtCoCacheEmptied1, EvtCoCacheEmptied2,
  901. EvtCoCacheEmptied3, EvtCoCacheEmptied4, EvtCoCacheEmptied5, EvtCoCacheEmptied6, EvtCoCacheEmptied7,
  902. EvtCoTransStopped, EvtCoTransStopped0 = EvtCoTransStopped, EvtCoTransStopped1, EvtCoTransStopped2,
  903. EvtCoTransStopped3, EvtCoTransStopped4, EvtCoTransStopped5, EvtCoTransStopped6, EvtCoTransStopped7,
  904. EvtCntrStopped, EvtCntrStopped0 = EvtCntrStopped, EvtCntrStopped1, EvtCntrStopped2,
  905. EvtCntrStopped3, EvtCntrStopped4, EvtCntrStopped5, EvtCntrStopped6, EvtCntrStopped7,
  906. /*----------------------------------------------------------------------*/
  907. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  908. EventUnknown = 0xffffffff,
  909. } EventId ;
  910. #define BioFailed(c) ((unsigned)(c) >= (unsigned)0xC0000000)
  911. typedef enum ErrorCode {
  912. /// <summary>
  913. /// The operation is completed successfully.
  914. /// </summary>
  915. Success = 0,
  916. ///************************************************************************
  917. /// warning
  918. ///************************************************************************
  919. /// <summary>
  920. /// The interrupt resource is not available.
  921. /// </summary>
  922. WarningIntrNotAvailable = 0xA0000000,
  923. /// <summary>
  924. /// The parameter is out of the range.
  925. /// </summary>
  926. WarningParamOutOfRange = 0xA0000001,
  927. /// <summary>
  928. /// The property value is out of range.
  929. /// </summary>
  930. WarningPropValueOutOfRange = 0xA0000002,
  931. /// <summary>
  932. /// The property value is not supported.
  933. /// </summary>
  934. WarningPropValueNotSpted = 0xA0000003,
  935. /// <summary>
  936. /// The property value conflicts with the current state.
  937. /// </summary>
  938. WarningPropValueConflict = 0xA0000004,
  939. /// <summary>
  940. /// The value range of all channels in a group should be same,
  941. /// such as 4~20mA of PCI-1724.
  942. /// </summary>
  943. WarningVrgOfGroupNotSame = 0xA0000005,
  944. /// <summary>
  945. /// Some properties of a property set are failed to be written into device.
  946. ///
  947. /// </summary>
  948. WarningPropPartialFailed = 0xA0000006,
  949. /// <summary>
  950. /// The operation had been stopped.
  951. ///
  952. /// </summary>
  953. WarningFuncStopped = 0xA0000007,
  954. /// <summary>
  955. /// The operation is time-out.
  956. ///
  957. /// </summary>
  958. WarningFuncTimeout = 0xA0000008,
  959. /// <summary>
  960. /// The cache is over-run.
  961. ///
  962. /// </summary>
  963. WarningCacheOverflow = 0xA0000009,
  964. /// <summary>
  965. /// The channel is burn-out.
  966. ///
  967. /// </summary>
  968. WarningBurnout = 0xA000000A,
  969. /// <summary>
  970. /// The current data record is end.
  971. ///
  972. /// </summary>
  973. WarningRecordEnd = 0xA000000B,
  974. /// <summary>
  975. /// The specified profile is not valid.
  976. ///
  977. /// </summary>
  978. WarningProfileNotValid = 0xA000000C,
  979. /// <summary>
  980. /// firmware version is not newer than the FW in Device.
  981. ///
  982. /// </summary>
  983. WarningFileMismatch = 0xA000000D,
  984. ///***********************************************************************
  985. /// error
  986. ///***********************************************************************
  987. /// <summary>
  988. /// The handle is NULL or its type doesn't match the required operation.
  989. /// </summary>
  990. ErrorHandleNotValid = 0xE0000000,
  991. /// <summary>
  992. /// The parameter value is out of range.
  993. /// </summary>
  994. ErrorParamOutOfRange = 0xE0000001,
  995. /// <summary>
  996. /// The parameter value is not supported.
  997. /// </summary>
  998. ErrorParamNotSpted = 0xE0000002,
  999. /// <summary>
  1000. /// The parameter value format is not the expected.
  1001. /// </summary>
  1002. ErrorParamFmtUnexpted = 0xE0000003,
  1003. /// <summary>
  1004. /// Not enough memory is available to complete the operation.
  1005. /// </summary>
  1006. ErrorMemoryNotEnough = 0xE0000004,
  1007. /// <summary>
  1008. /// The data buffer is null.
  1009. /// </summary>
  1010. ErrorBufferIsNull = 0xE0000005,
  1011. /// <summary>
  1012. /// The data buffer is too small for the operation.
  1013. /// </summary>
  1014. ErrorBufferTooSmall = 0xE0000006,
  1015. /// <summary>
  1016. /// The data length exceeded the limitation.
  1017. /// </summary>
  1018. ErrorDataLenExceedLimit = 0xE0000007,
  1019. /// <summary>
  1020. /// The required function is not supported.
  1021. /// </summary>
  1022. ErrorFuncNotSpted = 0xE0000008,
  1023. /// <summary>
  1024. /// The required event is not supported.
  1025. /// </summary>
  1026. ErrorEventNotSpted = 0xE0000009,
  1027. /// <summary>
  1028. /// The required property is not supported.
  1029. /// </summary>
  1030. ErrorPropNotSpted = 0xE000000A,
  1031. /// <summary>
  1032. /// The required property is read-only.
  1033. /// </summary>
  1034. ErrorPropReadOnly = 0xE000000B,
  1035. /// <summary>
  1036. /// The specified property value conflicts with the current state.
  1037. /// </summary>
  1038. ErrorPropValueConflict = 0xE000000C,
  1039. /// <summary>
  1040. /// The specified property value is out of range.
  1041. /// </summary>
  1042. ErrorPropValueOutOfRange = 0xE000000D,
  1043. /// <summary>
  1044. /// The specified property value is not supported.
  1045. /// </summary>
  1046. ErrorPropValueNotSpted = 0xE000000E,
  1047. /// <summary>
  1048. /// The handle hasn't own the privilege of the operation the user wanted.
  1049. /// </summary>
  1050. ErrorPrivilegeNotHeld = 0xE000000F,
  1051. /// <summary>
  1052. /// The required privilege is not available because someone else had own it.
  1053. /// </summary>
  1054. ErrorPrivilegeNotAvailable = 0xE0000010,
  1055. /// <summary>
  1056. /// The driver of specified device was not found.
  1057. /// </summary>
  1058. ErrorDriverNotFound = 0xE0000011,
  1059. /// <summary>
  1060. /// The driver version of the specified device mismatched.
  1061. /// </summary>
  1062. ErrorDriverVerMismatch = 0xE0000012,
  1063. /// <summary>
  1064. /// The loaded driver count exceeded the limitation.
  1065. /// </summary>
  1066. ErrorDriverCountExceedLimit = 0xE0000013,
  1067. /// <summary>
  1068. /// The device is not opened.
  1069. /// </summary>
  1070. ErrorDeviceNotOpened = 0xE0000014,
  1071. /// <summary>
  1072. /// The required device does not exist.
  1073. /// </summary>
  1074. ErrorDeviceNotExist = 0xE0000015,
  1075. /// <summary>
  1076. /// The required device is unrecognized by driver.
  1077. /// </summary>
  1078. ErrorDeviceUnrecognized = 0xE0000016,
  1079. /// <summary>
  1080. /// The configuration data of the specified device is lost or unavailable.
  1081. /// </summary>
  1082. ErrorConfigDataLost = 0xE0000017,
  1083. /// <summary>
  1084. /// The function is not initialized and can't be started.
  1085. /// </summary>
  1086. ErrorFuncNotInited = 0xE0000018,
  1087. /// <summary>
  1088. /// The function is busy.
  1089. /// </summary>
  1090. ErrorFuncBusy = 0xE0000019,
  1091. /// <summary>
  1092. /// The interrupt resource is not available.
  1093. /// </summary>
  1094. ErrorIntrNotAvailable = 0xE000001A,
  1095. /// <summary>
  1096. /// The DMA channel is not available.
  1097. /// </summary>
  1098. ErrorDmaNotAvailable = 0xE000001B,
  1099. /// <summary>
  1100. /// Time out when reading/writing the device.
  1101. /// </summary>
  1102. ErrorDeviceIoTimeOut = 0xE000001C,
  1103. /// <summary>
  1104. /// The given signature does not match with the device current one.
  1105. /// </summary>
  1106. ErrorSignatureNotMatch = 0xE000001D,
  1107. /// <summary>
  1108. /// The function cannot be executed while the buffered AI is running.
  1109. /// </summary>
  1110. ErrorFuncConflictWithBfdAi = 0xE000001E,
  1111. /// <summary>
  1112. /// The value range is not available in single-ended mode.
  1113. /// </summary>
  1114. ErrorVrgNotAvailableInSeMode = 0xE000001F,
  1115. /// <summary>
  1116. /// The value range is not available in 50omh input impedance mode..
  1117. /// </summary>
  1118. ErrorVrgNotAvailableIn50ohmMode = 0xE0000020,
  1119. /// <summary>
  1120. /// The coupling type is not available in 50omh input impedance mode..
  1121. /// </summary>
  1122. ErrorCouplingNotAvailableIn50ohmMode = 0xE0000021,
  1123. /// <summary>
  1124. /// The coupling type is not available in IEPE mode.
  1125. /// </summary>
  1126. ErrorCouplingNotAvailableInIEPEMode = 0xE0000022,
  1127. /// <summary>
  1128. /// The Communication is failed when reading/writing the device.
  1129. /// </summary>
  1130. ErrorDeviceCommunicationFailed = 0xE0000023,
  1131. /// <summary>
  1132. /// The device's 'fix number' conflicted with other device's
  1133. /// </summary>
  1134. ErrorFixNumberConflict = 0xE0000024,
  1135. /// <summary>
  1136. /// The Trigger source conflicted with other trigger configuration
  1137. /// </summary>
  1138. ErrorTrigSrcConflict = 0xE0000025,
  1139. /// <summary>
  1140. /// All properties of a property set are failed to be written into device.
  1141. /// </summary>
  1142. ErrorPropAllFailed = 0xE0000026,
  1143. /// <summary>
  1144. /// These devices can not be merged as a Fusion Device.
  1145. /// </summary>
  1146. ErrorDeviceNotFusionable = 0xE0000027,
  1147. ///Open File error
  1148. ErrorFileOpenFailed = 0xE0000028,
  1149. //File is not for the device
  1150. ErrorNotCompatible = 0xE0000029,
  1151. /// <summary>
  1152. /// Undefined error
  1153. /// </summary>
  1154. ErrorUndefined = 0xE000FFFF,
  1155. } ErrorCode;
  1156. // Advantech CardType ID
  1157. typedef enum ProductId {
  1158. BD_DEMO = 0x00, // demo board
  1159. BD_PCL818 = 0x05, // PCL-818 board
  1160. BD_PCL818H = 0x11, // PCL-818H
  1161. BD_PCL818L = 0x21, // PCL-818L
  1162. BD_PCL818HG = 0x22, // PCL-818HG
  1163. BD_PCL818HD = 0x2b, // PCL-818HD
  1164. BD_PCM3718 = 0x37, // PCM-3718
  1165. BD_PCM3724 = 0x38, // PCM-3724
  1166. BD_PCM3730 = 0x5a, // PCM-3730
  1167. BD_PCI1750 = 0x5e, // PCI-1750
  1168. BD_PCI1751 = 0x5f, // PCI-1751
  1169. BD_PCI1710 = 0x60, // PCI-1710
  1170. BD_PCI1712 = 0x61, // PCI-1712
  1171. BD_PCI1710HG = 0x67, // PCI-1710HG
  1172. BD_PCI1711 = 0x73, // PCI-1711
  1173. BD_PCI1711L = 0x75, // PCI-1711L
  1174. BD_PCI1713 = 0x68, // PCI-1713
  1175. BD_PCI1753 = 0x69, // PCI-1753
  1176. BD_PCI1760 = 0x6a, // PCI-1760
  1177. BD_PCI1720 = 0x6b, // PCI-1720
  1178. BD_PCM3718H = 0x6d, // PCM-3718H
  1179. BD_PCM3718HG = 0x6e, // PCM-3718HG
  1180. BD_PCI1716 = 0x74, // PCI-1716
  1181. BD_PCI1731 = 0x75, // PCI-1731
  1182. BD_PCI1754 = 0x7b, // PCI-1754
  1183. BD_PCI1752 = 0x7c, // PCI-1752
  1184. BD_PCI1756 = 0x7d, // PCI-1756
  1185. BD_PCM3725 = 0x7f, // PCM-3725
  1186. BD_PCI1762 = 0x80, // PCI-1762
  1187. BD_PCI1721 = 0x81, // PCI-1721
  1188. BD_PCI1761 = 0x82, // PCI-1761
  1189. BD_PCI1723 = 0x83, // PCI-1723
  1190. BD_PCI1730 = 0x87, // PCI-1730
  1191. BD_PCI1733 = 0x88, // PCI-1733
  1192. BD_PCI1734 = 0x89, // PCI-1734
  1193. BD_PCI1710L = 0x90, // PCI-1710L
  1194. BD_PCI1710HGL = 0x91, // PCI-1710HGL
  1195. BD_PCM3712 = 0x93, // PCM-3712
  1196. BD_PCM3723 = 0x94, // PCM-3723
  1197. BD_PCI1780 = 0x95, // PCI-1780
  1198. BD_MIC3756 = 0x96, // MIC-3756
  1199. BD_PCI1755 = 0x97, // PCI-1755
  1200. BD_PCI1714 = 0x98, // PCI-1714
  1201. BD_PCI1757 = 0x99, // PCI-1757
  1202. BD_MIC3716 = 0x9A, // MIC-3716
  1203. BD_MIC3761 = 0x9B, // MIC-3761
  1204. BD_MIC3753 = 0x9C, // MIC-3753
  1205. BD_MIC3780 = 0x9D, // MIC-3780
  1206. BD_PCI1724 = 0x9E, // PCI-1724
  1207. BD_PCI1758UDI = 0xA3, // PCI-1758UDI
  1208. BD_PCI1758UDO = 0xA4, // PCI-1758UDO
  1209. BD_PCI1747 = 0xA5, // PCI-1747
  1210. BD_PCM3780 = 0xA6, // PCM-3780
  1211. BD_MIC3747 = 0xA7, // MIC-3747
  1212. BD_PCI1758UDIO = 0xA8, // PCI-1758UDIO
  1213. BD_PCI1712L = 0xA9, // PCI-1712L
  1214. BD_PCI1763UP = 0xAC, // PCI-1763UP
  1215. BD_PCI1736UP = 0xAD, // PCI-1736UP
  1216. BD_PCI1714UL = 0xAE, // PCI-1714UL
  1217. BD_MIC3714 = 0xAF, // MIC-3714
  1218. BD_PCM3718HO = 0xB1, // PCM-3718HO
  1219. BD_PCI1741U = 0xB3, // PCI-1741U
  1220. BD_MIC3723 = 0xB4, // MIC-3723
  1221. BD_PCI1718HDU = 0xB5, // PCI-1718HDU
  1222. BD_MIC3758DIO = 0xB6, // MIC-3758DIO
  1223. BD_PCI1727U = 0xB7, // PCI-1727U
  1224. BD_PCI1718HGU = 0xB8, // PCI-1718HGU
  1225. BD_PCI1715U = 0xB9, // PCI-1715U
  1226. BD_PCI1716L = 0xBA, // PCI-1716L
  1227. BD_PCI1735U = 0xBB, // PCI-1735U
  1228. BD_USB4711 = 0xBC, // USB4711
  1229. BD_PCI1737U = 0xBD, // PCI-1737U
  1230. BD_PCI1739U = 0xBE, // PCI-1739U
  1231. BD_PCI1742U = 0xC0, // PCI-1742U
  1232. BD_USB4718 = 0xC6, // USB-4718
  1233. BD_MIC3755 = 0xC7, // MIC3755
  1234. BD_USB4761 = 0xC8, // USB4761
  1235. BD_PCI1784 = 0XCC, // PCI-1784
  1236. BD_USB4716 = 0xCD, // USB4716
  1237. BD_PCI1752U = 0xCE, // PCI-1752U
  1238. BD_PCI1752USO = 0xCF, // PCI-1752USO
  1239. BD_USB4751 = 0xD0, // USB4751
  1240. BD_USB4751L = 0xD1, // USB4751L
  1241. BD_USB4750 = 0xD2, // USB4750
  1242. BD_MIC3713 = 0xD3, // MIC-3713
  1243. BD_USB4711A = 0xD8, // USB4711A
  1244. BD_PCM3753P = 0xD9, // PCM3753P
  1245. BD_PCM3784 = 0xDA, // PCM3784
  1246. BD_PCM3761I = 0xDB, // PCM-3761I
  1247. BD_MIC3751 = 0xDC, // MIC-3751
  1248. BD_PCM3730I = 0xDD, // PCM-3730I
  1249. BD_PCM3813I = 0xE0, // PCM-3813I
  1250. BD_PCIE1744 = 0xE1, // PCIE-1744
  1251. BD_PCI1730U = 0xE2, // PCI-1730U
  1252. BD_PCI1760U = 0xE3, // PCI-1760U
  1253. BD_MIC3720 = 0xE4, // MIC-3720
  1254. BD_PCM3810I = 0xE9, // PCM-3810I
  1255. BD_USB4702 = 0xEA, // USB4702
  1256. BD_USB4704 = 0xEB, // USB4704
  1257. BD_PCM3810I_HG = 0xEC, // PCM-3810I_HG
  1258. BD_PCI1713U = 0xED, // PCI-1713U
  1259. // !!!BioDAQ only Product ID starts from here!!!
  1260. BD_PCI1706U = 0x800,
  1261. BD_PCI1706MSU = 0x801,
  1262. BD_PCI1706UL = 0x802,
  1263. BD_PCIE1752 = 0x803,
  1264. BD_PCIE1754 = 0x804,
  1265. BD_PCIE1756 = 0x805,
  1266. BD_MIC1911 = 0x806,
  1267. BD_MIC3750 = 0x807,
  1268. BD_MIC3711 = 0x808,
  1269. BD_PCIE1730 = 0x809,
  1270. BD_PCI1710_ECU = 0x80A,
  1271. BD_PCI1720_ECU = 0x80B,
  1272. BD_PCIE1760 = 0x80C,
  1273. BD_PCIE1751 = 0x80D,
  1274. BD_ECUP1706 = 0x80E,
  1275. BD_PCIE1753 = 0x80F,
  1276. BD_PCIE1810 = 0x810,
  1277. BD_ECUP1702L = 0x811,
  1278. BD_PCIE1816 = 0x812,
  1279. BD_PCM27D24DI = 0x813,
  1280. BD_PCIE1816H = 0x814,
  1281. BD_PCIE1840 = 0x815,
  1282. BD_PCL725 = 0x816,
  1283. BD_PCI176E = 0x817,
  1284. BD_PCIE1802 = 0x818,
  1285. BD_AIISE730 = 0x819,
  1286. BD_PCIE1812 = 0x81A,
  1287. BD_MIC1810 = 0x81B,
  1288. BD_PCIE1802L = 0x81C,
  1289. BD_PCIE1813 = 0x81D,
  1290. BD_PCIE1840L = 0x81E,
  1291. BD_PCIE1730H = 0x81F,
  1292. BD_PCIE1756H = 0x820,
  1293. BD_PCIERXM01 = 0x821, // PCIe-RXM01
  1294. BD_MIC1816 = 0x822,
  1295. BD_USB5830 = 0x823,
  1296. BD_USB5850 = 0x824,
  1297. BD_USB5860 = 0x825,
  1298. BD_VPX1172 = 0x826,
  1299. BD_USB5855 = 0x827,
  1300. BD_USB5856 = 0x828,
  1301. BD_USB5862 = 0x829,
  1302. BD_PCIE1840T = 0x82A,
  1303. BD_AudioCard = 0x82B,
  1304. BD_AIIS1750 = 0x82C,
  1305. BD_PCIE1840HL = 0x82D,
  1306. BD_PCIE1765 = 0x82E,
  1307. BD_PCIE1761H = 0x82F,
  1308. BD_PCIE1762H = 0x830,
  1309. BD_PCIE1884 = 0x831,
  1310. BD_PCIE1758DIO = 0x832,
  1311. BD_PCIE1758DI = 0x833,
  1312. BD_PCIE1758DO = 0x834,
  1313. //
  1314. BD_USB5817 = 0x835,
  1315. BD_USB5801 = 0x836,
  1316. BD_PCM2731 = 0x837,
  1317. BD_MOS1110 = 0x838,
  1318. BD_PCIE1750UH = 0x839,
  1319. BD_PCIE1750U = 0x83A,
  1320. BD_USB5820 = 0x83B,
  1321. //
  1322. BD_THK1710R = 0x83C,
  1323. BD_PCIE1803 = 0x83D,
  1324. BD_PCIE1824 = 0x83E,
  1325. BD_PCIE1805 = 0x83F,
  1326. //
  1327. BD_MIOE1747 = 0x840,
  1328. BD_ECUP1710 = 0x841,
  1329. BD_PCIE1824L = 0x842,
  1330. //
  1331. BD_PCIE1763AH = 0x843,
  1332. BD_PCIE1763DH = 0x844,
  1333. //
  1334. BD_MIC1816B = 0x845,
  1335. //
  1336. BD_SUSIGPIO = 0x846,
  1337. //
  1338. BD_MIC1810B = 0x847,
  1339. // iDAQ series
  1340. BD_IDAQ731 = 0x848,
  1341. BD_IDAQ763D = 0x849,
  1342. BD_IDAQ817 = 0x84A,
  1343. BD_IDAQ821 = 0x84B,
  1344. //
  1345. BD_EAPIGPIO = 0x84C,
  1346. // iDAQ series
  1347. BD_IDAQ841 = 0x84D,
  1348. BD_IDAQ801 = 0x84E,
  1349. BD_IDAQ815 = 0x84F,
  1350. //
  1351. BD_PCIE1842 = 0x850,
  1352. BD_MIOE3842 = 0x851,
  1353. BD_USB4716B = 0x852,
  1354. // iDAQ Fusion (Virtual Fusion Device, iDAQSyncBpInternal)
  1355. BD_IDAQ1CHASSYNC = 0x853, // Fused device of modules from same chassis
  1356. BD_USB4711B = 0x854,
  1357. BD_IDAQ751 = 0x855,
  1358. BD_FusionAuto = 0x856,
  1359. BD_AIIS1882 = 0x857,
  1360. BD_MIOE3842L = 0x858,
  1361. BD_PCI1716B = 0x859,
  1362. BD_USB4750B = 0x85A,
  1363. BD_USB4761B = 0x85B,
  1364. BD_PCI1716LB = 0x85C,
  1365. BD_PCI1716H = 0x85D,
  1366. BD_PCIE1816B = 0x85E,
  1367. BD_PCIE1816HB = 0x85F,
  1368. BD_ECUP1710T = 0x860,
  1369. BD_PCI1712B = 0x861,
  1370. BD_PCI1715B = 0x862,
  1371. BD_PCI1721B = 0x863,
  1372. BD_USB4751B = 0x864,
  1373. BD_USB4751LB = 0x865,
  1374. BD_PCIE1841 = 0x866,
  1375. BD_PCIE1841L = 0x867,
  1376. BD_PCIE1810B = 0x868,
  1377. BD_PCIE1812B = 0x869,
  1378. BD_PCIE1760B = 0x86A,
  1379. BD_PCIE1751B = 0x86B,
  1380. BD_PCIE1753B = 0x86C,
  1381. BD_IDAQ871 = 0x86D,
  1382. BD_IDAQ784 = 0x86E,
  1383. // WISE-5000 starts from here
  1384. BD_WISE5051 = 0x901,
  1385. BD_WISE5056 = 0x902,
  1386. BD_WISE5056SO = 0x903,
  1387. BD_WISE5015 = 0x904,
  1388. BD_WISE5017 = 0x905,
  1389. BD_WISE5018 = 0x906,
  1390. BD_WISE5024 = 0x907,
  1391. BD_WISE5080 = 0x908,
  1392. BD_WISE5074 = 0x909,
  1393. BD_WISE5001 = 0x90A,
  1394. BD_WISE5052 = 0x90B,
  1395. BD_WISE5057 = 0x90C,
  1396. BD_WISE5057SO = 0x90D,
  1397. BD_WISE5017C = 0x90E,
  1398. BD_WISE5017V = 0x90F,
  1399. BD_WISE5079 = 0x910,
  1400. BD_AMAX5051 = 0x911,
  1401. BD_AMAX5056 = 0x912,
  1402. BD_AMAX5056SO = 0x913,
  1403. BD_AMAX5015 = 0x914,
  1404. BD_AMAX5017 = 0x915,
  1405. BD_AMAX5018 = 0x916,
  1406. BD_AMAX5024 = 0x917,
  1407. BD_AMAX5080 = 0x918,
  1408. BD_AMAX5074 = 0x919,
  1409. BD_AMAX5001 = 0x91A,
  1410. BD_AMAX5052 = 0x91B,
  1411. BD_AMAX5057 = 0x91C,
  1412. BD_AMAX5057SO = 0x91D,
  1413. BD_AMAX5017C = 0x91E,
  1414. BD_AMAX5017V = 0x91F,
  1415. BD_AMAX5079 = 0x920,
  1416. BD_AMAX5017H = 0x921,
  1417. BD_AMAX5082 = 0x923,
  1418. BD_AMAX5060 = 0x924,
  1419. } ProductId;
  1420. typedef struct MathInterval {
  1421. int32 Type;
  1422. double Min;
  1423. double Max;
  1424. } MathInterval, * PMathInterval;
  1425. typedef MathInterval const *PCMathInterval;
  1426. typedef struct MapFuncPiece {
  1427. int32 Size; /* the size of the structure */
  1428. int32 Degree; /* the polynomial degree */
  1429. double UpperLimit; /* the upper limit for this scaling polynomial. */
  1430. double Coef[2]; /* variable length array for the coefficient of polynomial, in increasing degree. */
  1431. } MapFuncPiece, * PMapFuncPiece;
  1432. typedef MapFuncPiece const *PCMapFuncPiece;
  1433. typedef struct DataMark {
  1434. int64 DataIndex;
  1435. int32 SrcId;
  1436. int32 _reserved_;
  1437. } DataMark;
  1438. typedef struct CalibrationData {
  1439. int32 Size;
  1440. int32 ShuntResistance;
  1441. }CalibrationData;
  1442. /*Absolute counter related definitions*/
  1443. typedef enum Baudrate {
  1444. Baudrate2000KHz = 2000000, //2MHz
  1445. Baudrate1500KHz = 1500000, //1.5MHz
  1446. Baudrate1000KHz = 1000000, //1MHz
  1447. Baudrate500KHz = 500000, //500KHz
  1448. /*----------------------------------------------------------------------*/
  1449. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  1450. BaudrateUnknown = 0xffffffff,
  1451. } Baudrate;
  1452. typedef enum CodingType {
  1453. BinaryCode = 0,
  1454. GrayCode,
  1455. /*----------------------------------------------------------------------*/
  1456. /*Dummy ID, to ensure the type is compiled as 'int' by various compiler */
  1457. CodingUnknown = 0xffffffff,
  1458. } CodingType;
  1459. typedef enum BurnoutRetType ErrorRetType;
  1460. /*HW Specific Property*/
  1461. #define HWSPEC_WDT_DO_ENABLED L"HwSpec.Wdt.DoEnabled"
  1462. #define HWSPEC_WDT_DO_PATTERN L"HwSpec.Wdt.DoPattern"
  1463. #define HWSPEC_WDT_TIME L"HwSpec.Wdt.Time"
  1464. #define HWSPEC_WDT_FLAG L"HwSpec.Wdt.Flag"
  1465. END_NAMEAPCE_AUTOMATION_BDAQ
  1466. #endif /*_BDAQ_TYPES_DEFINED*/
  1467. /**********************************************************/
  1468. /*Bionic DAQ COM style class library */
  1469. /**********************************************************/
  1470. #if !defined(_BDAQ_TYPES_ONLY) && !defined(_BDAQ_COM_STYLE_CLASS_LIB)
  1471. #define _BDAQ_COM_STYLE_CLASS_LIB
  1472. #include <stdlib.h>
  1473. #if defined(_WIN32) || defined(WIN32)
  1474. # include <windows.h>
  1475. #endif
  1476. BEGIN_NAMEAPCE_AUTOMATION_BDAQ
  1477. /**********************************************************/
  1478. /*CSCL types definition */
  1479. /**********************************************************/
  1480. typedef enum ControlState {
  1481. Idle = 0,
  1482. Ready,
  1483. Running,
  1484. Stopped,
  1485. Uninited = -1,
  1486. } ControlState;
  1487. typedef enum Scenario {
  1488. SceInstantAi = 1 << 0,
  1489. SceBufferedAi = 1 << 1,
  1490. SceWaveformAi = 1 << 2,
  1491. SceInstantAo = 1 << 3,
  1492. SceBufferedAo = 1 << 4,
  1493. SceInstantDi = 1 << 5,
  1494. SceInstantDo = 1 << 6,
  1495. SceEventCounter = 1 << 7,
  1496. SceFreqMeter = 1 << 8,
  1497. SceOneShot = 1 << 9,
  1498. SceTimerPulse = 1 << 10,
  1499. ScePwMeter = 1 << 11,
  1500. ScePwModulator = 1 << 12,
  1501. SceUdCounter = 1 << 13,
  1502. SceBufferedEventCounter = 1 << 14,
  1503. SceBufferedPwMeter = 1 << 15,
  1504. SceBufferedPwModulator = 1 << 16,
  1505. SceBufferedUdCounter = 1 << 17,
  1506. SceEdgeSeparation = 1 << 18,
  1507. SceBufferedDi = 1 << 19,
  1508. SceBufferedDo = 1 << 20,
  1509. SceCalibration = 1 << 21,
  1510. SceFirmware = 1 << 22,
  1511. SceAbsCounter = 1 << 23,
  1512. } Scenario;
  1513. typedef struct DeviceInformation{
  1514. int32 DeviceNumber;
  1515. AccessMode DeviceMode;
  1516. int32 ModuleIndex;
  1517. wchar_t Description[MAX_DEVICE_DESC_LEN];
  1518. #if defined(__cplusplus)
  1519. explicit DeviceInformation(int32 deviceNumber = -1, AccessMode mode = ModeWrite, int32 moduleIndex = 0)
  1520. {
  1521. Init(deviceNumber, NULL, mode, moduleIndex);
  1522. }
  1523. explicit DeviceInformation(wchar_t const *deviceDesc, AccessMode mode = ModeWrite, int32 moduleIndex = 0)
  1524. {
  1525. Init(-1, deviceDesc, mode, moduleIndex);
  1526. }
  1527. void Init(int32 deviceNumber, wchar_t const *deviceDesc, AccessMode mode, int32 moduleIndex)
  1528. {
  1529. DeviceNumber = deviceNumber;
  1530. DeviceMode = mode;
  1531. ModuleIndex = moduleIndex;
  1532. if (deviceDesc == NULL) Description[0] = L'\0';
  1533. else {
  1534. for (int i = 0; i < MAX_DEVICE_DESC_LEN && (Description[i] = *deviceDesc++) != 0; ++i){}
  1535. Description[MAX_DEVICE_DESC_LEN - 1] = L'\0';
  1536. }
  1537. }
  1538. #endif
  1539. } DeviceInformation;
  1540. typedef struct DeviceTreeNode {
  1541. int32 DeviceNumber;
  1542. int32 ModulesIndex[8];
  1543. wchar_t Description[MAX_DEVICE_DESC_LEN];
  1544. } DeviceTreeNode;
  1545. typedef struct DeviceEventArgs {
  1546. EventId Id;
  1547. } DeviceEventArgs;
  1548. typedef struct BfdAiEventArgs {
  1549. EventId Id;
  1550. int32 Offset; /*offset of the new data*/
  1551. int32 Count; /*amount of the new data*/
  1552. int32 MarkCount; /*amount of the new marks*/
  1553. } BfdAiEventArgs;
  1554. typedef struct BfdAoEventArgs {
  1555. EventId Id;
  1556. int32 Offset; /*offset of blank area*/
  1557. int32 Count; /*amount of blank area*/
  1558. } BfdAoEventArgs;
  1559. typedef struct DiSnapEventArgs {
  1560. EventId Id;
  1561. int32 SrcNum;
  1562. int32 Length;
  1563. uint8 PortData[MAX_DIO_PORT_COUNT];
  1564. } DiSnapEventArgs;
  1565. typedef struct BfdDiEventArgs {
  1566. EventId Id;
  1567. int32 Offset; /*offset of the new data*/
  1568. int32 Count; /*amount of the new data*/
  1569. int32 MarkCount; /*amount of the new marks*/
  1570. } BfdDiEventArgs;
  1571. typedef struct BfdDoEventArgs {
  1572. EventId Id;
  1573. int32 Offset; /*offset of blank area*/
  1574. int32 Count; /*amount of blank area*/
  1575. } BfdDoEventArgs;
  1576. typedef struct CntrEventArgs {
  1577. EventId Id;
  1578. int32 Channel;
  1579. } CntrEventArgs;
  1580. typedef struct UdCntrEventArgs {
  1581. EventId Id;
  1582. int32 Length;
  1583. union {
  1584. int32 Data[MAX_CNTR_CH_COUNT];
  1585. struct {
  1586. int32 MatchedCount;
  1587. int32 MatchedValue;
  1588. };
  1589. };
  1590. } UdCntrEventArgs;
  1591. typedef struct BfdCntrEventArgs {
  1592. EventId Id;
  1593. int32 Channel;
  1594. int32 Offset; /*offset of the new data*/
  1595. int32 Count; /*amount of the new data*/
  1596. } BfdCntrEventArgs;
  1597. typedef struct PulseWidth {
  1598. double HiPeriod;
  1599. double LoPeriod;
  1600. } PulseWidth;
  1601. typedef void * DAQ_FN;
  1602. typedef struct DaqNaviLib {
  1603. int32 Version;
  1604. int32 Revision;
  1605. DAQ_FN const * Global;
  1606. DAQ_FN const * Base;
  1607. DAQ_FN const * Ai;
  1608. DAQ_FN const * Ao;
  1609. DAQ_FN const * Dio;
  1610. DAQ_FN const * Cntr;
  1611. } DaqNaviLib;
  1612. typedef struct IArray IArray;
  1613. typedef struct ICounterIndexer ICounterIndexer;
  1614. #if !defined(__cplusplus) || defined(_BDAQ_C_INTERFACE)
  1615. typedef struct ScanChannel ScanChannel;
  1616. typedef struct ConvertClock ConvertClock;
  1617. typedef struct ScanClock ScanClock;
  1618. typedef struct Trigger Trigger;
  1619. typedef struct Conversion Conversion;
  1620. typedef struct Record Record;
  1621. typedef struct NosFltChannel NosFltChannel;
  1622. typedef struct DeviceCtrl DeviceCtrl;
  1623. typedef struct DaqCtrlBase DaqCtrlBase;
  1624. typedef struct CjcSetting CjcSetting;
  1625. typedef struct AiChannel AiChannel;
  1626. typedef struct AiFeatures AiFeatures;
  1627. typedef struct AiCtrlBase AiCtrlBase;
  1628. typedef struct InstantAiCtrl InstantAiCtrl;
  1629. typedef struct BufferedAiCtrl BufferedAiCtrl;
  1630. typedef struct WaveformAiCtrl WaveformAiCtrl;
  1631. typedef struct AoChannel AoChannel;
  1632. typedef struct AoFeatures AoFeatures;
  1633. typedef struct AoCtrlBase AoCtrlBase;
  1634. typedef struct InstantAoCtrl InstantAoCtrl;
  1635. typedef struct BufferedAoCtrl BufferedAoCtrl;
  1636. typedef struct DioPort DioPort;
  1637. typedef struct ScanPort ScanPort;
  1638. typedef struct DiintChannel DiintChannel;
  1639. typedef struct DiCosintPort DiCosintPort;
  1640. typedef struct DiPmintPort DiPmintPort;
  1641. typedef struct DioFeatures DioFeatures;
  1642. typedef struct DioCtrlBase DioCtrlBase;
  1643. typedef struct InstantDiCtrl InstantDiCtrl;
  1644. typedef struct InstantDoCtrl InstantDoCtrl;
  1645. typedef struct BufferedDiCtrl BufferedDiCtrl;
  1646. typedef struct BufferedDoCtrl BufferedDoCtrl;
  1647. typedef struct CntrFeatures CntrFeatures;
  1648. typedef struct CntrCtrlBase CntrCtrlBase;
  1649. typedef struct EcChannel EcChannel;
  1650. typedef struct EventCounterCtrl EventCounterCtrl;
  1651. typedef struct FmChannel FmChannel;
  1652. typedef struct FreqMeterCtrl FreqMeterCtrl;
  1653. typedef struct OsChannel OsChannel;
  1654. typedef struct OneShotCtrl OneShotCtrl;
  1655. typedef struct TmrChannel TmrChannel;
  1656. typedef struct TimerPulseCtrl TimerPulseCtrl;
  1657. typedef struct PiChannel PiChannel;
  1658. typedef struct PwMeterCtrl PwMeterCtrl;
  1659. typedef struct PoChannel PoChannel;
  1660. typedef struct PwModulatorCtrl PwModulatorCtrl;
  1661. typedef struct UdChannel UdChannel;
  1662. typedef struct UdCounterCtrl UdCounterCtrl;
  1663. typedef struct AbsChannel AbsChannel;
  1664. typedef struct AbsCounterCtrl AbsCounterCtrl;
  1665. typedef struct EsChannel EsChannel;
  1666. typedef struct EdgeSeparationCtrl EdgeSeparationCtrl;
  1667. typedef struct BufferedEventCounterCtrl BufferedEventCounterCtrl;
  1668. typedef struct BufferedPwMeterCtrl BufferedPwMeterCtrl;
  1669. typedef struct BufferedUdCounterCtrl BufferedUdCounterCtrl;
  1670. typedef struct BufferedPwModulatorCtrl BufferedPwModulatorCtrl;
  1671. typedef struct CaliSubject CaliSubject;
  1672. typedef struct CaliSection CaliSection;
  1673. typedef struct CaliSolution CaliSolution;
  1674. typedef struct CalibrationCtrl CalibrationCtrl;
  1675. typedef struct FirmwareCtrl FirmwareCtrl;
  1676. typedef struct FirmwareCtrls FirmwareCtrls;
  1677. #else
  1678. class ScanChannel;
  1679. class ConvertClock;
  1680. class ScanClock;
  1681. class Trigger;
  1682. class Conversion;
  1683. class Record;
  1684. class NosFltChannel;
  1685. class DeviceCtrl;
  1686. class DaqCtrlBase;
  1687. class CjcSetting;
  1688. class AiChannel;
  1689. class AiFeatures;
  1690. class AiCtrlBase;
  1691. class InstantAiCtrl;
  1692. class BufferedAiCtrl;
  1693. class WaveformAiCtrl;
  1694. class AoChannel;
  1695. class AoFeatures;
  1696. class AoCtrlBase;
  1697. class InstantAoCtrl;
  1698. class BufferedAoCtrl;
  1699. class DioPort;
  1700. class ScanPort;
  1701. class DiintChannel;
  1702. class DiCosintPort;
  1703. class DiPmintPort;
  1704. class DioFeatures;
  1705. class DioCtrlBase;
  1706. class InstantDiCtrl;
  1707. class InstantDoCtrl;
  1708. class BufferedDiCtrl;
  1709. class BufferedDoCtrl;
  1710. class CntrFeatures;
  1711. class CntrCtrlBase;
  1712. class EcChannel;
  1713. class EventCounterCtrl;
  1714. class FmChannel;
  1715. class FreqMeterCtrl;
  1716. class OsChannel;
  1717. class OneShotCtrl;
  1718. class TmrChannel;
  1719. class TimerPulseCtrl;
  1720. class PiChannel;
  1721. class PwMeterCtrl;
  1722. class PoChannel;
  1723. class PwModulatorCtrl;
  1724. class UdChannel;
  1725. class UdCounterCtrl;
  1726. class AbsChannel;
  1727. class AbsCounterCtrl;
  1728. class EsChannel;
  1729. class EdgeSeparationCtrl;
  1730. class BufferedEventCounterCtrl;
  1731. class BufferedPwMeterCtrl;
  1732. class BufferedUdCounterCtrl;
  1733. class BufferedPwModulatorCtrl;
  1734. class CaliSubject;
  1735. class CaliSection;
  1736. class CaliSolution;
  1737. class CalibrationCtrl;
  1738. class FirmwareCtrl;
  1739. class FirmwareCtrls;
  1740. #endif
  1741. /*Callback function prototype*/
  1742. typedef void (BDAQCALL * DeviceEventProc)(void *sender, DeviceEventArgs *args, void *userParam);
  1743. typedef void (BDAQCALL * BfdAiEventProc )(void *sender, BfdAiEventArgs *args, void *userParam);
  1744. typedef void (BDAQCALL * BfdAoEventProc )(void *sender, BfdAoEventArgs *args, void *userParam);
  1745. typedef void (BDAQCALL * DiSnapEventProc)(void *sender, DiSnapEventArgs *args, void *userParam);
  1746. typedef void (BDAQCALL * CntrEventProc )(void *sender, CntrEventArgs *args, void *userParam);
  1747. typedef void (BDAQCALL * UdCntrEventProc)(void *sender, UdCntrEventArgs *args, void *userParam);
  1748. typedef void (BDAQCALL * BfdCntrEventProc)(void *sender, BfdCntrEventArgs *args, void *userParam);
  1749. typedef void (BDAQCALL * BfdDiEventProc )(void *sender, BfdDiEventArgs *args, void *userParam);
  1750. typedef void (BDAQCALL * BfdDoEventProc )(void *sender, BfdDoEventArgs *args, void *userParam);
  1751. /**********************************************************/
  1752. /* */
  1753. /* DAQNAVI CSCL ANSI-C APIs */
  1754. /* */
  1755. /**********************************************************/
  1756. #ifndef DAQNAVI_CORE
  1757. /* ----------------------------------------------------------*/
  1758. /* Helper Macros & Methods */
  1759. /* ----------------------------------------------------------*/
  1760. BDAQINL DaqNaviLib const ** DNL_PPtr()
  1761. {
  1762. static DaqNaviLib const * lib = NULL;
  1763. return &lib;
  1764. }
  1765. #if defined(_WIN32) || defined(WIN32)
  1766. BDAQINL HMODULE DNL_Instance()
  1767. {
  1768. static HMODULE instance = NULL;
  1769. if (instance == NULL) {
  1770. instance = LoadLibrary(TEXT("biodaq.dll"));
  1771. }
  1772. return instance;
  1773. }
  1774. BDAQINL int32 DNL_Initialize()
  1775. {
  1776. if (*DNL_PPtr() == NULL) {
  1777. #ifdef _WIN32_WCE
  1778. FARPROC fn = GetProcAddressA(DNL_Instance(), "AdxDaqNaviLibInitialize");
  1779. #else
  1780. FARPROC fn = GetProcAddress(DNL_Instance(), "AdxDaqNaviLibInitialize");
  1781. #endif
  1782. *DNL_PPtr() = ((DaqNaviLib const *( BDAQCALL *)(void))fn)();
  1783. }
  1784. return *DNL_PPtr() != NULL;
  1785. }
  1786. #else /*Non-Win32*/
  1787. #ifdef __cplusplus
  1788. extern "C" {
  1789. #endif
  1790. DaqNaviLib const * AdxDaqNaviLibInitialize();
  1791. #ifdef __cplusplus
  1792. }
  1793. #endif
  1794. BDAQINL int32 DNL_Initialize()
  1795. {
  1796. if (*DNL_PPtr() == NULL) { *DNL_PPtr() = AdxDaqNaviLibInitialize(); }
  1797. return *DNL_PPtr() != NULL;
  1798. }
  1799. #endif
  1800. #define DNLAPI_GBL (*DNL_PPtr())->Global
  1801. #define DNLAPI_BASE (*DNL_PPtr())->Base
  1802. #define DNLAPI_AI (*DNL_PPtr())->Ai
  1803. #define DNLAPI_AO (*DNL_PPtr())->Ao
  1804. #define DNLAPI_DIO (*DNL_PPtr())->Dio
  1805. #define DNLAPI_CNTR (*DNL_PPtr())->Cntr
  1806. #define DAQFN_VV(Apis, n) ((void (BDAQCALL *)(void *))Apis[n])
  1807. #define DAQFN_VT(Apis, n, t1) ((void (BDAQCALL *)(void *, t1))Apis[n])
  1808. #define DAQFN_VTT(Apis, n, t1, t2) ((void (BDAQCALL *)(void *, t1, t2))Apis[n])
  1809. #define DAQFN_VTTT(Apis, n, t1, t2, t3) ((void (BDAQCALL *)(void *, t1, t2, t3))Apis[n])
  1810. #define DAQFN_TV(Apis, n, rt) ((rt (BDAQCALL *)(void *))Apis[n])
  1811. #define DAQFN_TT(Apis, n, rt, t1) ((rt (BDAQCALL *)(void *, t1))Apis[n])
  1812. #define DAQFN_TTT(Apis, n, rt, t1, t2) ((rt (BDAQCALL *)(void *, t1, t2))Apis[n])
  1813. #define DAQFN_TTTT(Apis, n, rt, t1, t2, t3) ((rt (BDAQCALL *)(void *, t1, t2, t3))Apis[n])
  1814. #define DAQFN_EV(Apis, n) ((ErrorCode (BDAQCALL *)(void *))Apis[n])
  1815. #define DAQFN_ET(Apis, n, t1) ((ErrorCode (BDAQCALL *)(void *, t1))Apis[n])
  1816. #define DAQFN_ETT(Apis, n, t1, t2) ((ErrorCode (BDAQCALL *)(void *, t1, t2))Apis[n])
  1817. #define DAQFN_ETTT(Apis, n, t1, t2, t3) ((ErrorCode (BDAQCALL *)(void *, t1, t2, t3))Apis[n])
  1818. #define DAQFN_ETTTT(Apis, n, t1, t2, t3, t4) ((ErrorCode (BDAQCALL *)(void *, t1, t2, t3, t4))Apis[n])
  1819. #define DAQFN_ETTTTT(Apis, n, t1, t2, t3, t4, t5) ((ErrorCode (BDAQCALL *)(void *, t1, t2, t3, t4, t5))Apis[n])
  1820. #define DAQFN_GBL_T(Apis, n, rt) ((rt (BDAQCALL *)())Apis[n])
  1821. #define DAQFN_GBL_TT(Apis, n, rt, t1) ((rt (BDAQCALL *)(t1))Apis[n])
  1822. #define DAQFN_GBL_TTT(Apis, n, rt, t1, t2) ((rt (BDAQCALL *)(t1, t2))Apis[n])
  1823. #define DAQFN_GBL_TTTT(Apis, n, rt, t1, t2, t3) ((rt (BDAQCALL *)(t1, t2, t3))Apis[n])
  1824. #define DAQFN_GBL_ET(Apis, n, t1) ((ErrorCode (BDAQCALL *)(t1))Apis[n])
  1825. #define DAQFN_GBL_ETTT(Apis, n, t1, t2, t3) ((ErrorCode (BDAQCALL *)(t1, t2, t3))Apis[n])
  1826. #define DAQFN_GBL_ETTTT(Apis, n, t1, t2, t3, t4) ((ErrorCode (BDAQCALL *)(t1, t2, t3, t4))Apis[n])
  1827. #define DAQFN_GBL_ETTTTT(Apis, n, t1, t2, t3, t4, t5) ((ErrorCode (BDAQCALL *)(t1, t2, t3, t4, t5))Apis[n])
  1828. #define DAQFN_GBL_ETTTTTT(Apis, n, t1, t2, t3, t4, t5, t6) ((ErrorCode (BDAQCALL *)(t1, t2, t3, t4, t5, t6))Apis[n])
  1829. /* ----------------------------------------------------------*/
  1830. /*Global APIs */
  1831. /* ----------------------------------------------------------*/
  1832. BDAQINL ErrorCode AdxGetValueRangeInformation(ValueRange vrg, int32 sizeofDesc, wchar_t *description, MathInterval *range, ValueUnit *unit)
  1833. {
  1834. DNL_Initialize();
  1835. return DAQFN_GBL_ETTTTT(DNLAPI_GBL, 0, ValueRange, int32, wchar_t *, MathInterval *, ValueUnit *)(vrg, sizeofDesc, description, range, unit);
  1836. }
  1837. BDAQINL ErrorCode AdxGetSignalConnectionInformation(SignalDrop signalType, int32 sizeofDesc, wchar_t *description, SignalPosition *position)
  1838. {
  1839. DNL_Initialize();
  1840. return DAQFN_GBL_ETTTT(DNLAPI_GBL, 1, SignalDrop, int32, wchar_t *, SignalPosition *)(signalType, sizeofDesc, description, position);
  1841. }
  1842. BDAQINL double AdxTranslateTemperatureScale(TemperatureDegree degreeType, double degreeCelsius )
  1843. {
  1844. DNL_Initialize();
  1845. return DAQFN_GBL_TTT(DNLAPI_GBL, 2, double, TemperatureDegree, double)(degreeType, degreeCelsius);
  1846. }
  1847. BDAQINL ErrorCode AdxEnumToString(wchar_t const *enumName, int32 enumValue, int32 strLength, wchar_t *strBuffer)
  1848. {
  1849. DNL_Initialize();
  1850. return DAQFN_GBL_ETTTT(DNLAPI_GBL, 3, wchar_t const *, int32, int32, wchar_t *)(enumName, enumValue, strLength, strBuffer);
  1851. }
  1852. BDAQINL ErrorCode AdxStringToEnum(wchar_t const *enumName, wchar_t const *enumString, int32 *enumValue)
  1853. {
  1854. DNL_Initialize();
  1855. return DAQFN_GBL_ETTT(DNLAPI_GBL, 4, wchar_t const *, wchar_t const *, int32 *)(enumName, enumString, enumValue);
  1856. }
  1857. BDAQINL ErrorCode AdxDeviceGetLinkageInfo(int32 parent, int32 index, int32 *devNumber, wchar_t *description, int32 *subCount)
  1858. {
  1859. DNL_Initialize();
  1860. return DAQFN_GBL_ETTTTT(DNLAPI_GBL, 5, int32, int32, int32 *, wchar_t *, int32 *)(parent, index, devNumber, description, subCount);
  1861. }
  1862. BDAQINL ErrorCode AdxEventClearFlag(HANDLE handle, int32 id, int32 flagLParam, int32 flagRParam)
  1863. {
  1864. return DAQFN_GBL_ETTTT(DNLAPI_GBL, 6, HANDLE, int32, int32, int32)(handle, id, flagLParam, flagRParam);
  1865. }
  1866. BDAQINL ErrorCode AdxFusionDeviceCreate(int32 count, int32 children[], int32 *fusionNumber)
  1867. {
  1868. DNL_Initialize();
  1869. return DAQFN_GBL_ETTT(DNLAPI_GBL, 9, int32, int32 *, int32 *)(count, children, fusionNumber);
  1870. }
  1871. BDAQINL ErrorCode AdxFusionDeviceAddChildren(int32 fusionNumber, int32 count, int32 children[])
  1872. {
  1873. DNL_Initialize();
  1874. return DAQFN_GBL_ETTT(DNLAPI_GBL, 10, int32, int32, int32 *)(fusionNumber, count, children);
  1875. }
  1876. BDAQINL ErrorCode AdxFusionDeviceDeleteChildren(int32 fusionNumber, int32 count, int32 children[])
  1877. {
  1878. DNL_Initialize();
  1879. return DAQFN_GBL_ETTT(DNLAPI_GBL, 11, int32, int32, int32 *)(fusionNumber, count, children);
  1880. }
  1881. BDAQINL ErrorCode AdxFusionDeviceGetChildren(int32 fusionNumber, int32 *count, int32 children[])
  1882. {
  1883. DNL_Initialize();
  1884. return DAQFN_GBL_ETTT(DNLAPI_GBL, 12, int32, int32 *, int32 *)(fusionNumber, count, children);
  1885. }
  1886. BDAQINL ErrorCode AdxDeviceFusionableCheck(int32 fusionNumber, int32 count, int32 children[])
  1887. {
  1888. DNL_Initialize();
  1889. return DAQFN_GBL_ETTT(DNLAPI_GBL, 13, int32, int32, int32 *)(fusionNumber, count, children);
  1890. }
  1891. BDAQINL ErrorCode AdxIsFusionDevice(int32 fusionNumber)
  1892. {
  1893. DNL_Initialize();
  1894. return DAQFN_GBL_ET(DNLAPI_GBL, 14, int32)(fusionNumber);
  1895. }
  1896. /* ----------------------------------------------------------*/
  1897. /*common classes : Array */
  1898. /* ----------------------------------------------------------*/
  1899. BDAQINL void Array_Dispose(IArray * obj) { DAQFN_VV(DNLAPI_BASE, 0)(obj); }
  1900. BDAQINL int32 Array_getLength(IArray * obj) { return DAQFN_TV(DNLAPI_BASE, 1, int32)(obj); }
  1901. BDAQINL void* Array_getItem(IArray * obj, int32 index) { return DAQFN_TT(DNLAPI_BASE, 2, void *, int32)(obj, index); }
  1902. /* ----------------------------------------------------------*/
  1903. /*common classes : ScanChannel */
  1904. /* ----------------------------------------------------------*/
  1905. BDAQINL int32 ScanChannel_getChannelStart(ScanChannel *obj) { return DAQFN_TV(DNLAPI_BASE, 3, int32)(obj); }
  1906. BDAQINL ErrorCode ScanChannel_setChannelStart(ScanChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 4, int32)(obj, value); }
  1907. BDAQINL int32 ScanChannel_getChannelCount(ScanChannel *obj) { return DAQFN_TV(DNLAPI_BASE, 5, int32)(obj); }
  1908. BDAQINL ErrorCode ScanChannel_setChannelCount(ScanChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 6, int32)(obj, value); }
  1909. BDAQINL int32 ScanChannel_getIntervalCount(ScanChannel *obj) { return DAQFN_TV(DNLAPI_BASE, 7, int32)(obj); }
  1910. BDAQINL ErrorCode ScanChannel_setIntervalCount(ScanChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 8, int32)(obj, value); }
  1911. BDAQINL int32 ScanChannel_getSamples(ScanChannel *obj) { return DAQFN_TV(DNLAPI_BASE, 9, int32)(obj); }
  1912. BDAQINL ErrorCode ScanChannel_setSamples(ScanChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 10, int32)(obj, value); }
  1913. /* ----------------------------------------------------------*/
  1914. /*common classes : ConvertClock */
  1915. /* ----------------------------------------------------------*/
  1916. BDAQINL SignalDrop ConvertClock_getSource(ConvertClock *obj) { return DAQFN_TV(DNLAPI_BASE, 11, SignalDrop)(obj); }
  1917. BDAQINL ErrorCode ConvertClock_setSource(ConvertClock *obj, SignalDrop value) { return DAQFN_ET(DNLAPI_BASE, 12, SignalDrop)(obj, value);}
  1918. BDAQINL double ConvertClock_getRate(ConvertClock *obj) { return DAQFN_TV(DNLAPI_BASE, 13, double)(obj); }
  1919. BDAQINL ErrorCode ConvertClock_setRate(ConvertClock *obj, double value) { return DAQFN_ET(DNLAPI_BASE, 14, double)(obj, value); }
  1920. /* ----------------------------------------------------------*/
  1921. /*common classes : ScanClock */
  1922. /* ----------------------------------------------------------*/
  1923. BDAQINL SignalDrop ScanClock_getSource(ScanClock *obj) { return DAQFN_TV(DNLAPI_BASE, 15, SignalDrop)(obj); }
  1924. BDAQINL ErrorCode ScanClock_setSource(ScanClock *obj, SignalDrop value) { return DAQFN_ET(DNLAPI_BASE, 16, SignalDrop)(obj, value); }
  1925. BDAQINL double ScanClock_getRate(ScanClock *obj) { return DAQFN_TV(DNLAPI_BASE, 17, double)(obj); }
  1926. BDAQINL ErrorCode ScanClock_setRate(ScanClock *obj, double value) { return DAQFN_ET(DNLAPI_BASE, 18, double)(obj, value); }
  1927. BDAQINL int32 ScanClock_getScanCount(ScanClock *obj) { return DAQFN_TV(DNLAPI_BASE, 19, int32)(obj); }
  1928. BDAQINL ErrorCode ScanClock_setScanCount(ScanClock *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 20, int32)(obj, value); }
  1929. /* ----------------------------------------------------------*/
  1930. /*common classes : Trigger */
  1931. /* ----------------------------------------------------------*/
  1932. BDAQINL SignalDrop Trigger_getSource(Trigger *obj) { return DAQFN_TV(DNLAPI_BASE, 21, SignalDrop)(obj); }
  1933. BDAQINL ErrorCode Trigger_setSource(Trigger *obj, SignalDrop value) { return DAQFN_ET(DNLAPI_BASE, 22, SignalDrop)(obj, value); }
  1934. BDAQINL ActiveSignal Trigger_getEdge(Trigger *obj) { return DAQFN_TV(DNLAPI_BASE, 23, ActiveSignal)(obj); }
  1935. BDAQINL ErrorCode Trigger_setEdge(Trigger *obj, ActiveSignal value) { return DAQFN_ET(DNLAPI_BASE, 24, ActiveSignal)(obj, value); }
  1936. BDAQINL double Trigger_getLevel(Trigger *obj) { return DAQFN_TV(DNLAPI_BASE, 25, double)(obj); }
  1937. BDAQINL ErrorCode Trigger_setLevel(Trigger *obj, double value) { return DAQFN_ET(DNLAPI_BASE, 26, double)(obj, value); }
  1938. BDAQINL TriggerAction Trigger_getAction(Trigger *obj) { return DAQFN_TV(DNLAPI_BASE, 27, TriggerAction)(obj); }
  1939. BDAQINL ErrorCode Trigger_setAction(Trigger *obj, TriggerAction value) { return DAQFN_ET(DNLAPI_BASE, 28, TriggerAction)(obj, value); }
  1940. BDAQINL int32 Trigger_getDelayCount(Trigger *obj) { return DAQFN_TV(DNLAPI_BASE, 29, int32)(obj); }
  1941. BDAQINL ErrorCode Trigger_setDelayCount(Trigger *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 30, int32)(obj, value); }
  1942. BDAQINL double Trigger_getHysteresisIndex(Trigger *obj) { return DAQFN_TV(DNLAPI_BASE, 31, double)(obj); }
  1943. BDAQINL ErrorCode Trigger_setHysteresisIndex(Trigger *obj, double value) { return DAQFN_ET(DNLAPI_BASE, 32, double)(obj, value); }
  1944. BDAQINL FilterType Trigger_getFilterType(Trigger *obj) { return DAQFN_TV(DNLAPI_BASE, 94, FilterType)(obj); }
  1945. BDAQINL ErrorCode Trigger_setFilterType(Trigger *obj, FilterType value) { return DAQFN_ET(DNLAPI_BASE, 95, FilterType)(obj, value); }
  1946. BDAQINL double Trigger_getFilterCutoffFreq(Trigger *obj) { return DAQFN_TV(DNLAPI_BASE, 96, double)(obj); }
  1947. BDAQINL ErrorCode Trigger_setFilterCutoffFreq(Trigger *obj, double value) { return DAQFN_ET(DNLAPI_BASE, 97, double)(obj, value); }
  1948. /* ----------------------------------------------------------*/
  1949. /*common classes : Conversion */
  1950. /* ----------------------------------------------------------*/
  1951. BDAQINL SignalDrop Conversion_getClockSource(Conversion *obj) { return DAQFN_TV(DNLAPI_BASE, 33, SignalDrop)(obj); }
  1952. BDAQINL ErrorCode Conversion_setClockSource(Conversion *obj, SignalDrop value) { return DAQFN_ET(DNLAPI_BASE, 34, SignalDrop)(obj, value); }
  1953. BDAQINL double Conversion_getClockRate(Conversion *obj) { return DAQFN_TV(DNLAPI_BASE, 35, double)(obj); }
  1954. BDAQINL ErrorCode Conversion_setClockRate(Conversion *obj, double value) { return DAQFN_ET(DNLAPI_BASE, 36, double)(obj, value); }
  1955. BDAQINL int32 Conversion_getChannelStart(Conversion *obj) { return DAQFN_TV(DNLAPI_BASE, 37, int32)(obj); }
  1956. BDAQINL ErrorCode Conversion_setChannelStart(Conversion *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 38, int32)(obj, value); }
  1957. BDAQINL int32 Conversion_getChannelCount(Conversion *obj) { return DAQFN_TV(DNLAPI_BASE, 39, int32)(obj); }
  1958. BDAQINL ErrorCode Conversion_setChannelCount(Conversion *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 40, int32)(obj, value); }
  1959. BDAQINL void Conversion_getChannelMap(Conversion *obj, int32 count, int8 *chMap) { DAQFN_VTT(DNLAPI_BASE, 41, int32, int8 *)(obj, count, chMap); }
  1960. BDAQINL ErrorCode Conversion_setChannelMap(Conversion *obj, int32 count, int8 *chMap) { return DAQFN_ETT(DNLAPI_BASE, 42, int32, int8 *)(obj, count, chMap); }
  1961. /* ----------------------------------------------------------*/
  1962. /*common classes : Record */
  1963. /* ----------------------------------------------------------*/
  1964. BDAQINL int32 Record_getSectionLength(Record *obj) { return DAQFN_TV(DNLAPI_BASE, 43, int32)(obj); }
  1965. BDAQINL ErrorCode Record_setSectionLength(Record *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 44, int32)(obj, value); }
  1966. BDAQINL int32 Record_getSectionCount(Record *obj) { return DAQFN_TV(DNLAPI_BASE, 45, int32)(obj); }
  1967. BDAQINL ErrorCode Record_setSectionCount(Record *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 46, int32)(obj, value); }
  1968. BDAQINL int32 Record_getCycles(Record *obj) { return DAQFN_TV(DNLAPI_BASE, 47, int32)(obj); }
  1969. BDAQINL ErrorCode Record_setCycles(Record *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 48, int32)(obj, value); }
  1970. /* ----------------------------------------------------------*/
  1971. /* common classes : NosFltChannel */
  1972. /* ----------------------------------------------------------*/
  1973. BDAQINL int32 NosFltChannel_getChannel(NosFltChannel *obj) { return DAQFN_TV(DNLAPI_BASE, 49, int32)(obj); }
  1974. BDAQINL int8 NosFltChannel_getEnabled(NosFltChannel *obj) { return DAQFN_TV(DNLAPI_BASE, 50, int8)(obj); }
  1975. BDAQINL ErrorCode NosFltChannel_setEnabled(NosFltChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_BASE, 51, int8)(obj, value);}
  1976. /*************************************************************/
  1977. /* ctrl class : device ctrl class */
  1978. /* ----------------------------------------------------------*/
  1979. /* Event */
  1980. BDAQINL void DeviceCtrl_addEventHandler(DeviceCtrl *obj, EventId id, DeviceEventProc proc, void *userParam) { DAQFN_VTTT(DNLAPI_BASE, 52, EventId, DeviceEventProc, void *)(obj, id, proc, userParam);}
  1981. BDAQINL void DeviceCtrl_removeEventHandler(DeviceCtrl *obj, EventId id, DeviceEventProc proc, void *userParam) { DAQFN_VTTT(DNLAPI_BASE, 53, EventId, DeviceEventProc, void *)(obj, id, proc, userParam);}
  1982. /* Method */
  1983. BDAQINL ErrorCode DeviceCtrl_Refresh(DeviceCtrl *obj) { return DAQFN_EV(DNLAPI_BASE, 54)(obj); }
  1984. BDAQINL ErrorCode DeviceCtrl_ReadRegister(DeviceCtrl *obj, int32 space, int32 offset, int32 length, void *data) { return DAQFN_ETTTT(DNLAPI_BASE, 55, int32, int32, int32, void *)(obj, space, offset, length, data); }
  1985. BDAQINL ErrorCode DeviceCtrl_WriteRegister(DeviceCtrl *obj, int32 space, int32 offset, int32 length, void *data) { return DAQFN_ETTTT(DNLAPI_BASE, 56, int32, int32, int32, void *)(obj, space, offset, length, data); }
  1986. BDAQINL ErrorCode DeviceCtrl_ReadPrivateRegion(DeviceCtrl *obj, int32 signature, int32 length, uint8 *data) { return DAQFN_ETTT(DNLAPI_BASE, 57, int32, int32, uint8*)(obj, signature, length, data); }
  1987. BDAQINL ErrorCode DeviceCtrl_WritePrivateRegion(DeviceCtrl *obj, int32 signature, int32 length, uint8 *data) { return DAQFN_ETTT(DNLAPI_BASE, 58, int32, int32, uint8*)(obj, signature, length, data); }
  1988. BDAQINL ErrorCode DeviceCtrl_SynchronizeTimebase(DeviceCtrl *obj) { return DAQFN_EV(DNLAPI_BASE, 101)(obj); }
  1989. BDAQINL double DeviceCtrl_CalculateAbsoluteTime(DeviceCtrl *obj, double relativeTime) { return DAQFN_TT(DNLAPI_BASE, 102, double, double)(obj, relativeTime); }
  1990. BDAQINL void DeviceCtrl_Dispose(DeviceCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 79)(obj); }
  1991. /* Property */
  1992. BDAQINL int32 DeviceCtrl_getDeviceNumber(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 59, int32)(obj); }
  1993. BDAQINL ErrorCode DeviceCtrl_getDescription(DeviceCtrl *obj, int32 length, wchar_t *desc) { return DAQFN_ETT(DNLAPI_BASE, 60, int32, wchar_t *)(obj, length, desc);}
  1994. BDAQINL ErrorCode DeviceCtrl_setDescription(DeviceCtrl *obj, int32 length, wchar_t *desc) { return DAQFN_ETT(DNLAPI_BASE, 76, int32, wchar_t *)(obj, length, desc);}
  1995. BDAQINL AccessMode DeviceCtrl_getAccessMode(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 61, AccessMode)(obj); }
  1996. BDAQINL ProductId DeviceCtrl_getProductId(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 62, ProductId)(obj); }
  1997. BDAQINL int32 DeviceCtrl_getBoardId(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 63, int32)(obj); }
  1998. BDAQINL ErrorCode DeviceCtrl_setBoardId(DeviceCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 77, int32)(obj, value); }
  1999. BDAQINL ErrorCode DeviceCtrl_getBoardVersion(DeviceCtrl *obj, int32 length, wchar_t *ver) { return DAQFN_ETT(DNLAPI_BASE, 64, int32, wchar_t *)(obj, length, ver); }
  2000. BDAQINL ErrorCode DeviceCtrl_getDriverVersion(DeviceCtrl *obj, int32 length, wchar_t *ver) { return DAQFN_ETT(DNLAPI_BASE, 65, int32, wchar_t *)(obj, length, ver); }
  2001. BDAQINL ErrorCode DeviceCtrl_getDllVersion(DeviceCtrl *obj, int32 length, wchar_t *ver) { return DAQFN_ETT(DNLAPI_BASE, 66, int32, wchar_t *)(obj, length, ver); }
  2002. BDAQINL ErrorCode DeviceCtrl_getLocation(DeviceCtrl *obj, int32 length, wchar_t *loc) { return DAQFN_ETT(DNLAPI_BASE, 67, int32, wchar_t *)(obj, length, loc); }
  2003. BDAQINL int32 DeviceCtrl_getPrivateRegionLength(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 68, int32)(obj); }
  2004. BDAQINL int32 DeviceCtrl_getHotResetPreventable(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 69, int32)(obj); }
  2005. BDAQINL int32 DeviceCtrl_getBusSlot(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 147, int32)(obj); }
  2006. BDAQINL IArray * DeviceCtrl_getBaseAddresses(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 70, IArray *)(obj); }
  2007. BDAQINL IArray * DeviceCtrl_getInterrupts(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 71, IArray *)(obj); }
  2008. BDAQINL IArray * DeviceCtrl_getSupportedTerminalBoard(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 72, IArray *)(obj); }
  2009. BDAQINL IArray * DeviceCtrl_getSupportedEvents(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 73, IArray *)(obj); }
  2010. BDAQINL TerminalBoard DeviceCtrl_getTerminalBoard(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 74, TerminalBoard)(obj); }
  2011. BDAQINL ErrorCode DeviceCtrl_setTerminalBoard(DeviceCtrl *obj, TerminalBoard value) { return DAQFN_ET(DNLAPI_BASE, 75, TerminalBoard)(obj, value); }
  2012. BDAQINL ErrorCode DeviceCtrl_setLocateEnabled(DeviceCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_BASE, 99, int32)(obj, value); }
  2013. BDAQINL int32 DeviceCtrl_getSupportedScenarios(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 78, int32)(obj); }
  2014. BDAQINL HANDLE DeviceCtrl_getDevice(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 92, HANDLE)(obj); }
  2015. BDAQINL ErrorCode DeviceCtrl_getHwSpecific(DeviceCtrl *obj, wchar_t *name, int32 *size, void *buffer) { return DAQFN_ETTT(DNLAPI_BASE, 103, wchar_t *, int32 *, void*)(obj, name, size, buffer); }
  2016. BDAQINL ErrorCode DeviceCtrl_setHwSpecific(DeviceCtrl *obj, wchar_t *name, int32 size, void *buffer) { return DAQFN_ETTT(DNLAPI_BASE, 104, wchar_t *, int32, void*)(obj, name, size, buffer); }
  2017. BDAQINL IArray * DeviceCtrl_getSupportedFusionTypes(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 138, IArray *)(obj); }
  2018. BDAQINL IArray * DeviceCtrl_getProgrammableSignals(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 139, IArray *)(obj); }
  2019. BDAQINL ErrorCode DeviceCtrl_getProgrammableSignalsDirection(DeviceCtrl *obj, int32 length, SignalDirection dir[]) { return DAQFN_ETT(DNLAPI_BASE, 140, int32, SignalDirection *)(obj, length, dir); }
  2020. BDAQINL ErrorCode DeviceCtrl_setProgrammableSignalsDirection(DeviceCtrl *obj, int32 length, SignalDirection dir[]) { return DAQFN_ETT(DNLAPI_BASE, 141, int32, SignalDirection *)(obj, length, dir); }
  2021. BDAQINL double DeviceCtrl_getSignalNoiseFilterBlockTime(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 150, double)(obj); }
  2022. BDAQINL ErrorCode DeviceCtrl_setSignalNoiseFilterBlockTime(DeviceCtrl *obj, double blkTime) { return DAQFN_ET(DNLAPI_BASE, 151, double)(obj, blkTime); }
  2023. BDAQINL IArray * DeviceCtrl_getRtSignalEndpoints(DeviceCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 142, IArray *)(obj); }
  2024. BDAQINL IArray * DeviceCtrl_getRtEndpointXSupportedSources(DeviceCtrl *obj, SignalDrop rep) { return DAQFN_TT(DNLAPI_BASE, 143, IArray *, SignalDrop)(obj, rep); }
  2025. BDAQINL SignalDrop DeviceCtrl_getRtEndpointXSource(DeviceCtrl *obj, SignalDrop rep) { return DAQFN_TT(DNLAPI_BASE, 144, SignalDrop, SignalDrop)(obj, rep); }
  2026. BDAQINL ErrorCode DeviceCtrl_setRtEndpointXSource(DeviceCtrl *obj, SignalDrop rep, SignalDrop source) { return DAQFN_ETT(DNLAPI_BASE,145, SignalDrop, SignalDrop)(obj, rep, source);}
  2027. /*Creator*/
  2028. BDAQINL DeviceCtrl * DeviceCtrl_Create(int32 devNumber, wchar_t const *desc, AccessMode mode) { DNL_Initialize(); return DAQFN_GBL_TTTT(DNLAPI_BASE, 80, DeviceCtrl *, int32, wchar_t const *, AccessMode)(devNumber, desc, mode); }
  2029. BDAQINL IArray * DeviceCtrl_getInstalledDevices() { DNL_Initialize(); return DAQFN_GBL_T(DNLAPI_BASE, 100, IArray *)(); }
  2030. /*Helpers*/
  2031. BDAQINL void DeviceCtrl_addRemovedHandler(DeviceCtrl *obj, DeviceEventProc proc, void *userParam) { DeviceCtrl_addEventHandler (obj, EvtDeviceRemoved, proc, userParam); }
  2032. BDAQINL void DeviceCtrl_removeRemovedHandler(DeviceCtrl *obj, DeviceEventProc proc, void *userParam) { DeviceCtrl_removeEventHandler(obj, EvtDeviceRemoved, proc, userParam); }
  2033. BDAQINL void DeviceCtrl_addReconnectedHandler(DeviceCtrl *obj, DeviceEventProc proc, void *userParam) { DeviceCtrl_addEventHandler (obj, EvtDeviceReconnected, proc, userParam); }
  2034. BDAQINL void DeviceCtrl_removeReconnectedHandler(DeviceCtrl *obj, DeviceEventProc proc, void *userParam) { DeviceCtrl_removeEventHandler(obj, EvtDeviceReconnected, proc, userParam); }
  2035. BDAQINL void DeviceCtrl_addPropertyChangedHandler(DeviceCtrl *obj, DeviceEventProc proc, void *userParam) { DeviceCtrl_addEventHandler (obj, EvtPropertyChanged, proc, userParam); }
  2036. BDAQINL void DeviceCtrl_removePropertyChangedHandler(DeviceCtrl *obj, DeviceEventProc proc, void *userParam) { DeviceCtrl_removeEventHandler(obj, EvtPropertyChanged, proc, userParam); }
  2037. /*************************************************************/
  2038. /* ctrl class : daq ctrl base class */
  2039. /* ----------------------------------------------------------*/
  2040. /* Event */
  2041. typedef void (BDAQCALL * DaqEventProc)(void *sender, void *args, void *userParam);
  2042. BDAQINL void DaqCtrlBase_addEventHandler(DaqCtrlBase *obj, EventId id, DaqEventProc proc, void *userParam) { DAQFN_VTTT(DNLAPI_BASE, 81, EventId, DaqEventProc, void *)(obj, id, proc, userParam); }
  2043. BDAQINL void DaqCtrlBase_removeEventHandler(DaqCtrlBase *obj, EventId id, DaqEventProc proc, void *userParam) { DAQFN_VTTT(DNLAPI_BASE, 82, EventId, DaqEventProc, void *)(obj, id, proc, userParam); }
  2044. BDAQINL DaqCtrlBase * DaqCtrlBase_Create(Scenario type) { DNL_Initialize(); return DAQFN_GBL_TT(DNLAPI_BASE, 91, DaqCtrlBase *, Scenario)(type);}
  2045. /*************************************************************/
  2046. /* ctrl class : AI related */
  2047. /* ----------------------------------------------------------*/
  2048. /* CjcSetting */
  2049. /* ----------------------------------------------------------*/
  2050. BDAQINL int32 CjcSetting_getChannel(CjcSetting *obj) { return DAQFN_TV(DNLAPI_AI, 0, int32) (obj); }
  2051. BDAQINL ErrorCode CjcSetting_setChannel(CjcSetting *obj, int32 ch) { return DAQFN_ET(DNLAPI_AI, 1, int32) (obj, ch); }
  2052. BDAQINL double CjcSetting_getValue(CjcSetting *obj) { return DAQFN_TV(DNLAPI_AI, 2, double)(obj); }
  2053. BDAQINL ErrorCode CjcSetting_setValue(CjcSetting *obj, double value) { return DAQFN_ET(DNLAPI_AI, 3, double)(obj, value);}
  2054. BDAQINL double CjcSetting_getUpdateFreq(CjcSetting *obj) { return DAQFN_TV(DNLAPI_AI, 4, double)(obj); }
  2055. BDAQINL ErrorCode CjcSetting_setUpdateFreq(CjcSetting *obj, double value) { return DAQFN_ET(DNLAPI_AI, 5, double)(obj, value);}
  2056. /* ----------------------------------------------------------*/
  2057. /* AiChannel */
  2058. /* ----------------------------------------------------------*/
  2059. BDAQINL int32 AiChannel_getChannel(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 6, int32)(obj); }
  2060. BDAQINL ValueRange AiChannel_getValueRange(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 7, ValueRange)(obj); }
  2061. BDAQINL ErrorCode AiChannel_setValueRange(AiChannel *obj, ValueRange value) { return DAQFN_ET(DNLAPI_AI, 8, ValueRange)(obj, value); }
  2062. BDAQINL AiSignalType AiChannel_getSignalType(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 9, AiSignalType)(obj); }
  2063. BDAQINL ErrorCode AiChannel_setSignalType(AiChannel *obj, AiSignalType value) { return DAQFN_ET(DNLAPI_AI, 10, AiSignalType)(obj, value); }
  2064. BDAQINL BurnoutRetType AiChannel_getBurnoutRetType(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 11, BurnoutRetType)(obj); }
  2065. BDAQINL ErrorCode AiChannel_setBurnoutRetType(AiChannel *obj, BurnoutRetType value) { return DAQFN_ET(DNLAPI_AI, 12, BurnoutRetType)(obj, value);}
  2066. BDAQINL double AiChannel_getBurnoutRetValue(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 13, double)(obj); }
  2067. BDAQINL ErrorCode AiChannel_setBurnoutRetValue(AiChannel *obj, double value) { return DAQFN_ET(DNLAPI_AI, 14, double)(obj, value); }
  2068. BDAQINL double AiChannel_getBurnShortRetValue(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 115, double)(obj); }
  2069. BDAQINL ErrorCode AiChannel_setBurnShortRetValue(AiChannel *obj, double value) { return DAQFN_ET(DNLAPI_AI, 116, double)(obj, value); }
  2070. BDAQINL FilterType AiChannel_getFilterType(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 15, FilterType) (obj); }
  2071. BDAQINL ErrorCode AiChannel_setFilterType(AiChannel *obj, FilterType value) { return DAQFN_ET(DNLAPI_AI, 16, FilterType) (obj, value); }
  2072. BDAQINL double AiChannel_getFilterCutoffFreq(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 17, double)(obj); }
  2073. BDAQINL ErrorCode AiChannel_setFilterCutoffFreq(AiChannel *obj, double value) { return DAQFN_ET(DNLAPI_AI, 18, double)(obj, value); }
  2074. BDAQINL double AiChannel_getFilterCutoffFreq1(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 19, double)(obj); }
  2075. BDAQINL ErrorCode AiChannel_setFilterCutoffFreq1(AiChannel *obj, double value) { return DAQFN_ET(DNLAPI_AI, 20, double)(obj, value); }
  2076. BDAQINL int32 AiChannel_getLogicalNumber(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 21, int32)(obj); }
  2077. BDAQINL CouplingType AiChannel_getCouplingType(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 95, CouplingType)(obj); }
  2078. BDAQINL ErrorCode AiChannel_setCouplingType(AiChannel *obj, CouplingType value) { return DAQFN_ET(DNLAPI_AI, 96, CouplingType)(obj, value); }
  2079. BDAQINL IepeType AiChannel_getIepeType(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 97, IepeType)(obj); }
  2080. BDAQINL ErrorCode AiChannel_setIepeType(AiChannel *obj, IepeType value) { return DAQFN_ET(DNLAPI_AI, 98, IepeType)(obj, value); }
  2081. BDAQINL ImpedanceType AiChannel_getImpedanceType(AiChannel *obj) { return DAQFN_TV(DNLAPI_AI, 99, ImpedanceType)(obj); }
  2082. BDAQINL ErrorCode AiChannel_setImpedanceType(AiChannel *obj, ImpedanceType value) { return DAQFN_ET(DNLAPI_AI, 100, ImpedanceType)(obj, value);}
  2083. BDAQINL ErrorCode AiChannel_getSensorDescription(AiChannel *obj, int32 *size, wchar_t desc[]) { return DAQFN_ETT(DNLAPI_AI, 109, int32 *, wchar_t *)(obj, size, desc); }
  2084. BDAQINL ErrorCode AiChannel_setSensorDescription(AiChannel *obj, int32 size, wchar_t desc[]) { return DAQFN_ETT(DNLAPI_AI, 110, int32 , wchar_t *)(obj, size, desc); }
  2085. BDAQINL ErrorCode AiChannel_getScaleTable(AiChannel *obj, int32 *size, MapFuncPiece table[]) { return DAQFN_ETT(DNLAPI_AI, 53, int32 *, MapFuncPiece *)(obj, size, table); }
  2086. BDAQINL ErrorCode AiChannel_setScaleTable(AiChannel *obj, int32 size, MapFuncPiece table[]) { return DAQFN_ETT(DNLAPI_AI, 54, int32 , MapFuncPiece *)(obj, size, table); }
  2087. /* ----------------------------------------------------------*/
  2088. /* AI features */
  2089. /* ----------------------------------------------------------*/
  2090. /*ADC features*/
  2091. BDAQINL int32 AiFeatures_getResolution(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 22, int32)(obj); }
  2092. BDAQINL int32 AiFeatures_getDataSize(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 23, int32)(obj); }
  2093. BDAQINL int32 AiFeatures_getDataMask(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 24, int32)(obj); }
  2094. BDAQINL double AiFeatures_getTimestampResolution(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 108, int32)(obj); }
  2095. /*channel features*/
  2096. BDAQINL int32 AiFeatures_getChannelCountMax(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 25, int32)(obj); }
  2097. BDAQINL AiChannelType AiFeatures_getChannelType(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 26, AiChannelType)(obj); }
  2098. BDAQINL int8 AiFeatures_getOverallValueRange(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 27, int8)(obj); }
  2099. BDAQINL IArray * AiFeatures_getValueRanges(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 28, IArray *)(obj); }
  2100. BDAQINL IArray * AiFeatures_getBurnoutReturnTypes(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 29, IArray *)(obj); }
  2101. BDAQINL IArray * AiFeatures_getConnectionTypes(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 106, IArray *)(obj); }
  2102. BDAQINL int8 AiFeatures_getOverallConnection(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 107, int8)(obj); }
  2103. BDAQINL IArray * AiFeatures_getCouplingTypes(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 101, IArray *)(obj); }
  2104. BDAQINL IArray * AiFeatures_getIepeTypes(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 102, IArray *)(obj); }
  2105. BDAQINL IArray * AiFeatures_getImpedanceTypes(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 103, IArray *)(obj); }
  2106. /*filter*/
  2107. BDAQINL IArray * AiFeatures_getFilterTypes(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 30, IArray *)(obj); }
  2108. BDAQINL void AiFeatures_getFilterCutoffFreqRange(AiFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_AI, 31, MathInterval *)(obj, x);}
  2109. BDAQINL void AiFeatures_getFilterCutoffFreq1Range(AiFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_AI, 32, MathInterval *)(obj, x);}
  2110. /*CJC features */
  2111. BDAQINL int8 AiFeatures_getThermoSupported(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 33, int8)(obj); }
  2112. BDAQINL IArray * AiFeatures_getCjcChannels(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 34, IArray *)(obj);}
  2113. /*buffered ai->basic features*/
  2114. BDAQINL int8 AiFeatures_getBufferedAiSupported(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 35, int8)(obj); }
  2115. BDAQINL SamplingMethod AiFeatures_getSamplingMethod(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 36, SamplingMethod)(obj); }
  2116. BDAQINL int32 AiFeatures_getChannelStartBase(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 37, int32)(obj); }
  2117. BDAQINL int32 AiFeatures_getChannelCountBase(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 38, int32)(obj); }
  2118. /*buffered ai->conversion clock features*/
  2119. BDAQINL IArray * AiFeatures_getConvertClockSources(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 39, IArray *)(obj); }
  2120. BDAQINL void AiFeatures_getConvertClockRange(AiFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_AI, 40, MathInterval *)(obj, x);}
  2121. /*buffered ai->burst scan*/
  2122. BDAQINL int8 AiFeatures_getBurstScanSupported(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 41, int8)(obj); }
  2123. BDAQINL IArray * AiFeatures_getScanClockSources(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 42, IArray *)(obj); }
  2124. BDAQINL void AiFeatures_getScanClockRange(AiFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_AI, 43, MathInterval *)(obj, x); }
  2125. BDAQINL int32 AiFeatures_getScanCountMax(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 44, int32)(obj); }
  2126. /*buffered ai->trigger features*/
  2127. BDAQINL int8 AiFeatures_getRetriggerable(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 45, int8)(obj); }
  2128. BDAQINL int32 AiFeatures_getTriggerCount(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 46, int32)(obj); }
  2129. BDAQINL IArray * AiFeatures_getTriggerFilterTypes(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 104, IArray *, int32)(obj, 0); }
  2130. BDAQINL void AiFeatures_getTriggerFilterCutoffFreq(AiFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_AI, 105, int32, MathInterval *)(obj, 0, x);}
  2131. /*buffered ai->trigger0 features*/
  2132. BDAQINL IArray * AiFeatures_getTriggerActions(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 47, IArray *, int32)(obj, 0); }
  2133. BDAQINL void AiFeatures_getTriggerDelayRange(AiFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_AI, 48, int32, MathInterval *)(obj, 0, x);}
  2134. BDAQINL IArray * AiFeatures_getTriggerSources(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 49, IArray *, int32)(obj, 0); }
  2135. BDAQINL ValueRange AiFeatures_getTriggerSourceVrg(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 50, ValueRange, int32)(obj, 0); }
  2136. BDAQINL double AiFeatures_getTriggerHysteresisIndexMax(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 51, double, int32)(obj, 0); }
  2137. BDAQINL int32 AiFeatures_getTriggerHysteresisIndexStep(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 52, int32, int32)(obj, 0); }
  2138. /*buffered ai->trigger1 features*/
  2139. BDAQINL IArray * AiFeatures_getTrigger1Actions(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 47, IArray *, int32)(obj, 1); }
  2140. BDAQINL void AiFeatures_getTrigger1DelayRange(AiFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_AI, 48, int32, MathInterval *)(obj, 1, x);}
  2141. BDAQINL IArray * AiFeatures_getTrigger1Sources(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 49, IArray *, int32)(obj, 1); }
  2142. BDAQINL ValueRange AiFeatures_getTrigger1SourceVrg(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 50, ValueRange, int32)(obj, 1); }
  2143. BDAQINL double AiFeatures_getTrigger1HysteresisIndexMax(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 51, double, int32)(obj, 1); }
  2144. BDAQINL int32 AiFeatures_getTrigger1HysteresisIndexStep(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 52, int32, int32)(obj, 1); }
  2145. /*buffered ai->trigger2 features*/
  2146. BDAQINL IArray * AiFeatures_getTrigger2Actions(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 47, IArray *, int32)(obj, 2); }
  2147. BDAQINL void AiFeatures_getTrigger2DelayRange(AiFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_AI, 48, int32, MathInterval *)(obj, 2, x);}
  2148. BDAQINL IArray * AiFeatures_getTrigger2Sources(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 49, IArray *, int32)(obj, 2); }
  2149. BDAQINL ValueRange AiFeatures_getTrigger2SourceVrg(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 50, ValueRange, int32)(obj, 2); }
  2150. BDAQINL double AiFeatures_getTrigger2HysteresisIndexMax(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 51, double, int32)(obj, 2); }
  2151. BDAQINL int32 AiFeatures_getTrigger2HysteresisIndexStep(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 52, int32, int32)(obj, 2); }
  2152. /*buffered ai->trigger3 features*/
  2153. BDAQINL IArray * AiFeatures_getTrigger3Actions(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 47, IArray *, int32)(obj, 3); }
  2154. BDAQINL void AiFeatures_getTrigger3DelayRange(AiFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_AI, 48, int32, MathInterval *)(obj, 3, x);}
  2155. BDAQINL IArray * AiFeatures_getTrigger3Sources(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 49, IArray *, int32)(obj, 3); }
  2156. BDAQINL ValueRange AiFeatures_getTrigger3SourceVrg(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 50, ValueRange, int32)(obj, 3); }
  2157. BDAQINL double AiFeatures_getTrigger3HysteresisIndexMax(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 51, double, int32)(obj, 3); }
  2158. BDAQINL int32 AiFeatures_getTrigger3HysteresisIndexStep(AiFeatures *obj) { return DAQFN_TT(DNLAPI_AI, 52, int32, int32)(obj, 3); }
  2159. /*sensor features*/
  2160. BDAQINL IArray * AiFeatures_getMeasureTypes(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 112, IArray *)(obj); }
  2161. BDAQINL IArray * AiFeatures_getBridgeResistances(AiFeatures *obj) { return DAQFN_TV(DNLAPI_AI, 113, IArray *)(obj); }
  2162. BDAQINL void AiFeatures_getExcitingVoltageRange(AiFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_AI, 114, MathInterval *)(obj, x); }
  2163. /* ----------------------------------------------------------*/
  2164. /*InstantAiCtrl */
  2165. /* ----------------------------------------------------------*/
  2166. /*base1*/
  2167. BDAQINL ErrorCode InstantAiCtrl_LoadProfile(InstantAiCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2168. BDAQINL void InstantAiCtrl_Cleanup(InstantAiCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2169. BDAQINL void InstantAiCtrl_Dispose(InstantAiCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2170. BDAQINL void InstantAiCtrl_getSelectedDevice(InstantAiCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2171. BDAQINL ErrorCode InstantAiCtrl_setSelectedDevice(InstantAiCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2172. BDAQINL ControlState InstantAiCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  2173. BDAQINL DeviceCtrl * InstantAiCtrl_getDevice(InstantAiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  2174. BDAQINL IArray * InstantAiCtrl_getSupportedDevices(InstantAiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2175. BDAQINL IArray * InstantAiCtrl_getSupportedModes(InstantAiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2176. /*base2*/
  2177. BDAQINL AiFeatures * InstantAiCtrl_getFeatures(InstantAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 58, AiFeatures *)(obj); }
  2178. BDAQINL IArray * InstantAiCtrl_getChannels(InstantAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 59, IArray * )(obj); }
  2179. BDAQINL int32 InstantAiCtrl_getChannelCount(InstantAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 60, int32 )(obj); }
  2180. BDAQINL ErrorCode InstantAiCtrl_runSensorCalibration(InstantAiCtrl *obj, int32 ch, CalibrationData const *data) { return DAQFN_ETT(DNLAPI_AI, 111, int32, CalibrationData const*)(obj, ch, data); }
  2181. /* InstantAiCtrl Methods & Properties*/
  2182. BDAQINL ErrorCode InstantAiCtrl_ReadAny(InstantAiCtrl *obj, int32 chStart, int32 chCount, void *dataRaw, double *dataScaled) { return DAQFN_ETTTT(DNLAPI_AI, 61, int32, int32, void *, double *)(obj, chStart, chCount, dataRaw, dataScaled); }
  2183. BDAQINL CjcSetting * InstantAiCtrl_getCjc(InstantAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 62, CjcSetting *)(obj); }
  2184. BDAQINL double InstantAiCtrl_getAutoConvertClockRate(InstantAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 63, double)(obj); }
  2185. BDAQINL ErrorCode InstantAiCtrl_setAutoConvertClockRate(InstantAiCtrl *obj, double value) { return DAQFN_ET(DNLAPI_AI, 64, double)(obj, value); }
  2186. BDAQINL int32 InstantAiCtrl_getAutoConvertChannelStart(InstantAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 65, int32)(obj); }
  2187. BDAQINL ErrorCode InstantAiCtrl_setAutoConvertChannelStart(InstantAiCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_AI, 66, int32)(obj, value); }
  2188. BDAQINL int32 InstantAiCtrl_getAutoConvertChannelCount(InstantAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 67, int32)(obj); }
  2189. BDAQINL ErrorCode InstantAiCtrl_setAutoConvertChannelCount(InstantAiCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_AI, 68, int32)(obj, value); }
  2190. /*creator*/
  2191. BDAQINL InstantAiCtrl * InstantAiCtrl_Create(void) { return (InstantAiCtrl*)DaqCtrlBase_Create(SceInstantAi); }
  2192. /* ----------------------------------------------------------*/
  2193. /*BufferedAiCtrl */
  2194. /* ----------------------------------------------------------*/
  2195. /*base1*/
  2196. BDAQINL ErrorCode BufferedAiCtrl_LoadProfile(BufferedAiCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2197. BDAQINL void BufferedAiCtrl_Cleanup(BufferedAiCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2198. BDAQINL void BufferedAiCtrl_Dispose(BufferedAiCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2199. BDAQINL void BufferedAiCtrl_getSelectedDevice(BufferedAiCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2200. BDAQINL ErrorCode BufferedAiCtrl_setSelectedDevice(BufferedAiCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2201. BDAQINL ControlState BufferedAiCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj);}
  2202. BDAQINL DeviceCtrl * BufferedAiCtrl_getDevice(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj);}
  2203. BDAQINL IArray * BufferedAiCtrl_getSupportedDevices(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2204. BDAQINL IArray * BufferedAiCtrl_getSupportedModes(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2205. /*base2*/
  2206. BDAQINL AiFeatures * BufferedAiCtrl_getFeatures(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 58, AiFeatures *)(obj);}
  2207. BDAQINL IArray * BufferedAiCtrl_getChannels(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 59, IArray *)(obj); }
  2208. BDAQINL int32 BufferedAiCtrl_getChannelCount(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 60, int32 )(obj); }
  2209. BDAQINL ErrorCode BufferedAiCtrl_runSensorCalibration(BufferedAiCtrl *obj, int32 ch, CalibrationData const *data) { return DAQFN_ETT(DNLAPI_AI, 111, int32, CalibrationData const*)(obj, ch, data); }
  2210. /* BufferedAiCtrl Methods & Properties */
  2211. BDAQINL ErrorCode BufferedAiCtrl_Prepare(BufferedAiCtrl *obj) { return DAQFN_EV(DNLAPI_AI, 69)(obj); }
  2212. BDAQINL ErrorCode BufferedAiCtrl_RunOnce(BufferedAiCtrl *obj) { return DAQFN_EV(DNLAPI_AI, 70)(obj); }
  2213. BDAQINL ErrorCode BufferedAiCtrl_Start(BufferedAiCtrl *obj) { return DAQFN_EV(DNLAPI_AI, 71)(obj); }
  2214. BDAQINL ErrorCode BufferedAiCtrl_Stop(BufferedAiCtrl *obj) { return DAQFN_EV(DNLAPI_AI, 72)(obj); }
  2215. BDAQINL void BufferedAiCtrl_Release(BufferedAiCtrl *obj) { DAQFN_VV(DNLAPI_AI, 73)(obj); }
  2216. BDAQINL int8 BufferedAiCtrl_GetBufferStatus(BufferedAiCtrl *obj, int32 *count, int32 *offset) { return DAQFN_TTT(DNLAPI_AI, 74, int8, int32 *, int32 *)(obj, count, offset); }
  2217. BDAQINL ErrorCode BufferedAiCtrl_GetDataI16(BufferedAiCtrl *obj, int32 count, int16 rawData[]) { return DAQFN_ETTT(DNLAPI_AI, 75, int32, int32, void*)(obj, sizeof(int16), count, rawData); }
  2218. BDAQINL ErrorCode BufferedAiCtrl_GetDataI32(BufferedAiCtrl *obj, int32 count, int32 rawData[]) { return DAQFN_ETTT(DNLAPI_AI, 75, int32, int32, void*)(obj, sizeof(int32), count, rawData); }
  2219. BDAQINL ErrorCode BufferedAiCtrl_GetDataF64(BufferedAiCtrl *obj, int32 count, double scaledData[]) { return DAQFN_ETTT(DNLAPI_AI, 75, int32, int32, void*)(obj, sizeof(double),count, scaledData); }
  2220. BDAQINL void* BufferedAiCtrl_getBuffer(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 76, void*)(obj); }
  2221. BDAQINL int32 BufferedAiCtrl_getBufferCapacity(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 77, int32)(obj); }
  2222. BDAQINL ScanChannel * BufferedAiCtrl_getScanChannel(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 78, ScanChannel *)(obj); }
  2223. BDAQINL ConvertClock * BufferedAiCtrl_getConvertClock(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 79, ConvertClock *)(obj); }
  2224. BDAQINL ScanClock * BufferedAiCtrl_getScanClock(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 80, ScanClock *)(obj); }
  2225. BDAQINL Trigger * BufferedAiCtrl_getTrigger(BufferedAiCtrl *obj) { return DAQFN_TT(DNLAPI_AI, 81, Trigger *, int32)(obj, 0); }
  2226. BDAQINL Trigger * BufferedAiCtrl_getTrigger1(BufferedAiCtrl *obj) { return DAQFN_TT(DNLAPI_AI, 81, Trigger *, int32)(obj, 1); }
  2227. BDAQINL Trigger * BufferedAiCtrl_getTrigger2(BufferedAiCtrl *obj) { return DAQFN_TT(DNLAPI_AI, 81, Trigger *, int32)(obj, 2); }
  2228. BDAQINL Trigger * BufferedAiCtrl_getTrigger3(BufferedAiCtrl *obj) { return DAQFN_TT(DNLAPI_AI, 81, Trigger *, int32)(obj, 3); }
  2229. BDAQINL int8 BufferedAiCtrl_getStreaming(BufferedAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 82, int8)(obj); }
  2230. BDAQINL ErrorCode BufferedAiCtrl_setStreaming(BufferedAiCtrl *obj, int8 value) { return DAQFN_ET(DNLAPI_AI, 83, int8)(obj, value); }
  2231. /*creator*/
  2232. BDAQINL BufferedAiCtrl * BufferedAiCtrl_Create(void) { return (BufferedAiCtrl *)DaqCtrlBase_Create(SceBufferedAi); }
  2233. /*Helpers*/
  2234. BDAQINL void BufferedAiCtrl_addDataReadyHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiDataReady, (DaqEventProc)proc, userParam);}
  2235. BDAQINL void BufferedAiCtrl_removeDataReadyHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiDataReady, (DaqEventProc)proc, userParam);}
  2236. BDAQINL void BufferedAiCtrl_addOverrunHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiOverrun, (DaqEventProc)proc, userParam);}
  2237. BDAQINL void BufferedAiCtrl_removeOverrunHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiOverrun, (DaqEventProc)proc, userParam);}
  2238. BDAQINL void BufferedAiCtrl_addCacheOverflowHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiCacheOverflow, (DaqEventProc)proc, userParam);}
  2239. BDAQINL void BufferedAiCtrl_removeCacheOverflowHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiCacheOverflow, (DaqEventProc)proc, userParam);}
  2240. BDAQINL void BufferedAiCtrl_addStoppedHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiStopped, (DaqEventProc)proc, userParam);}
  2241. BDAQINL void BufferedAiCtrl_removeStoppedHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiStopped, (DaqEventProc)proc, userParam);}
  2242. BDAQINL void BufferedAiCtrl_addBurnOutHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiBurnOut, (DaqEventProc)proc, userParam);}
  2243. BDAQINL void BufferedAiCtrl_removeBurnOutHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiBurnOut, (DaqEventProc)proc, userParam);}
  2244. /* ----------------------------------------------------------*/
  2245. /*WaveformAiCtrl */
  2246. /* ----------------------------------------------------------*/
  2247. /*base1*/
  2248. BDAQINL ErrorCode WaveformAiCtrl_LoadProfile(WaveformAiCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2249. BDAQINL void WaveformAiCtrl_Cleanup(WaveformAiCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2250. BDAQINL void WaveformAiCtrl_Dispose(WaveformAiCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2251. BDAQINL void WaveformAiCtrl_getSelectedDevice(WaveformAiCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2252. BDAQINL ErrorCode WaveformAiCtrl_setSelectedDevice(WaveformAiCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2253. BDAQINL ControlState WaveformAiCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj);}
  2254. BDAQINL DeviceCtrl * WaveformAiCtrl_getDevice(WaveformAiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj);}
  2255. BDAQINL IArray * WaveformAiCtrl_getSupportedDevices(WaveformAiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2256. BDAQINL IArray * WaveformAiCtrl_getSupportedModes(WaveformAiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2257. /*base2*/
  2258. BDAQINL AiFeatures * WaveformAiCtrl_getFeatures(WaveformAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 58, AiFeatures *)(obj);}
  2259. BDAQINL IArray * WaveformAiCtrl_getChannels(WaveformAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 59, IArray *)(obj); }
  2260. BDAQINL int32 WaveformAiCtrl_getChannelCount(WaveformAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 60, int32 )(obj); }
  2261. BDAQINL ErrorCode WaveformAiCtrl_runSensorCalibration(WaveformAiCtrl *obj, int32 ch, CalibrationData const *data) { return DAQFN_ETT(DNLAPI_AI, 111, int32, CalibrationData const*)(obj, ch, data); }
  2262. /* WaveformAiCtrl Methods & Properties */
  2263. BDAQINL ErrorCode WaveformAiCtrl_Prepare(WaveformAiCtrl *obj) { return DAQFN_EV(DNLAPI_AI, 84)(obj); }
  2264. BDAQINL ErrorCode WaveformAiCtrl_Start(WaveformAiCtrl *obj) { return DAQFN_EV(DNLAPI_AI, 85)(obj); }
  2265. BDAQINL ErrorCode WaveformAiCtrl_Stop(WaveformAiCtrl *obj) { return DAQFN_EV(DNLAPI_AI, 86)(obj); }
  2266. BDAQINL void WaveformAiCtrl_Release(WaveformAiCtrl *obj) { DAQFN_VV(DNLAPI_AI, 87)(obj); }
  2267. BDAQINL int8 WaveformAiCtrl_GetBufferStatus(WaveformAiCtrl *obj, int32 *count, int32 *offset) { return DAQFN_TTT(DNLAPI_AI, 88, int8, int32 *, int32 *)(obj, count, offset); }
  2268. BDAQINL ErrorCode WaveformAiCtrl_GetDataI16(WaveformAiCtrl *obj, int32 count, int16 dataBuf[],
  2269. int32 timeout, int32 *returned, double * startTime, int32 *markCount, DataMark *markBuf)
  2270. {
  2271. typedef ErrorCode (BDAQCALL *FNGETDATA)(void *, int32, int32, void *, int32, int32 *, double *, int32 *, DataMark *);
  2272. return ((FNGETDATA)DNLAPI_AI[89])(obj, sizeof(int16), count, dataBuf, timeout, returned, startTime, markCount, markBuf);
  2273. }
  2274. BDAQINL ErrorCode WaveformAiCtrl_GetDataI32(WaveformAiCtrl *obj, int32 count, int32 dataBuf[],
  2275. int32 timeout, int32 *returned, double * startTime, int32 *markCount, DataMark *markBuf)
  2276. {
  2277. typedef ErrorCode (BDAQCALL *FNGETDATA)(void *, int32, int32, void *, int32, int32 *, double *, int32 *, DataMark *);
  2278. return ((FNGETDATA)DNLAPI_AI[89])(obj, sizeof(int32), count, dataBuf, timeout, returned, startTime, markCount, markBuf);
  2279. }
  2280. BDAQINL ErrorCode WaveformAiCtrl_GetDataF64(WaveformAiCtrl *obj, int32 count, double dataBuf[],
  2281. int32 timeout, int32 *returned, double * startTime, int32 *markCount, DataMark *markBuf)
  2282. {
  2283. typedef ErrorCode (BDAQCALL *FNGETDATA)(void *, int32, int32, void *, int32, int32 *, double *, int32 *, DataMark *);
  2284. return ((FNGETDATA)DNLAPI_AI[89])(obj, sizeof(double), count, dataBuf, timeout, returned, startTime, markCount, markBuf);
  2285. }
  2286. BDAQINL void* WaveformAiCtrl_getBuffer(WaveformAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 90, void*)(obj); }
  2287. BDAQINL int32 WaveformAiCtrl_getBufferCapacity(WaveformAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 91, int32)(obj); }
  2288. BDAQINL Conversion * WaveformAiCtrl_getConversion(WaveformAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 92, Conversion *)(obj); }
  2289. BDAQINL Record * WaveformAiCtrl_getRecord(WaveformAiCtrl *obj) { return DAQFN_TV(DNLAPI_AI, 93, Record *)(obj); }
  2290. BDAQINL Trigger * WaveformAiCtrl_getTrigger(WaveformAiCtrl *obj) { return DAQFN_TT(DNLAPI_AI, 94, Trigger *, int32)(obj, 0); }
  2291. BDAQINL Trigger * WaveformAiCtrl_getTrigger1(WaveformAiCtrl *obj) { return DAQFN_TT(DNLAPI_AI, 94, Trigger *, int32)(obj, 1); }
  2292. BDAQINL Trigger * WaveformAiCtrl_getTrigger2(WaveformAiCtrl *obj) { return DAQFN_TT(DNLAPI_AI, 94, Trigger *, int32)(obj, 2); }
  2293. BDAQINL Trigger * WaveformAiCtrl_getTrigger3(WaveformAiCtrl *obj) { return DAQFN_TT(DNLAPI_AI, 94, Trigger *, int32)(obj, 3); }
  2294. /*creator*/
  2295. BDAQINL WaveformAiCtrl * WaveformAiCtrl_Create(void) { return (WaveformAiCtrl *)DaqCtrlBase_Create(SceWaveformAi); }
  2296. /*Helpers*/
  2297. BDAQINL void WaveformAiCtrl_addDataReadyHandler(WaveformAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiDataReady, (DaqEventProc)proc, userParam);}
  2298. BDAQINL void WaveformAiCtrl_removeDataReadyHandler(WaveformAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiDataReady, (DaqEventProc)proc, userParam);}
  2299. BDAQINL void WaveformAiCtrl_addOverrunHandler(WaveformAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiOverrun, (DaqEventProc)proc, userParam);}
  2300. BDAQINL void WaveformAiCtrl_removeOverrunHandler(WaveformAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiOverrun, (DaqEventProc)proc, userParam);}
  2301. BDAQINL void WaveformAiCtrl_addCacheOverflowHandler(WaveformAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiCacheOverflow, (DaqEventProc)proc, userParam);}
  2302. BDAQINL void WaveformAiCtrl_removeCacheOverflowHandler(WaveformAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiCacheOverflow, (DaqEventProc)proc, userParam);}
  2303. BDAQINL void WaveformAiCtrl_addStoppedHandler(WaveformAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiStopped, (DaqEventProc)proc, userParam);}
  2304. BDAQINL void WaveformAiCtrl_removeStoppedHandler(WaveformAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiStopped, (DaqEventProc)proc, userParam);}
  2305. BDAQINL void WaveformAiCtrl_addBurnOutHandler(WaveformAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiBurnOut, (DaqEventProc)proc, userParam);}
  2306. BDAQINL void WaveformAiCtrl_removeBurnOutHandler(WaveformAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiBurnOut, (DaqEventProc)proc, userParam);}
  2307. BDAQINL void WaveformAiCtrl_addTimeStampOverrunHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiTimeStampOverrun, (DaqEventProc)proc, userParam);}
  2308. BDAQINL void WaveformAiCtrl_removeTimeStampOverrunHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiTimeStampOverrun, (DaqEventProc)proc, userParam);}
  2309. BDAQINL void WaveformAiCtrl_addTimeStampCacheOverflowHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiTimeStampCacheOverflow, (DaqEventProc)proc, userParam);}
  2310. BDAQINL void WaveformAiCtrl_removeTimeStampCacheOverflowHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiTimeStampCacheOverflow, (DaqEventProc)proc, userParam);}
  2311. BDAQINL void WaveformAiCtrl_addMarkOverrunHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAiMarkOverrun, (DaqEventProc)proc, userParam);}
  2312. BDAQINL void WaveformAiCtrl_removeMarkOverrunHandler(BufferedAiCtrl *obj, BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAiMarkOverrun, (DaqEventProc)proc, userParam);}
  2313. /*************************************************************/
  2314. /* ctrl class : AO related */
  2315. /* ----------------------------------------------------------*/
  2316. /*AoChannel*/
  2317. /* ----------------------------------------------------------*/
  2318. BDAQINL int32 AoChannel_getChannel(AoChannel *obj) { return DAQFN_TV(DNLAPI_AO, 0, int32)(obj); }
  2319. BDAQINL ValueRange AoChannel_getValueRange(AoChannel *obj) { return DAQFN_TV(DNLAPI_AO, 1, ValueRange)(obj); }
  2320. BDAQINL ErrorCode AoChannel_setValueRange(AoChannel *obj, ValueRange value) { return DAQFN_ET(DNLAPI_AO, 2, ValueRange)(obj, value);}
  2321. BDAQINL double AoChannel_getExtRefBipolar(AoChannel *obj) { return DAQFN_TV(DNLAPI_AO, 47, double)(obj); }
  2322. BDAQINL ErrorCode AoChannel_setExtRefBipolar(AoChannel *obj, double value) { return DAQFN_ET(DNLAPI_AO, 48, double)(obj, value); }
  2323. BDAQINL double AoChannel_getExtRefUnipolar(AoChannel *obj) { return DAQFN_TV(DNLAPI_AO, 49, double)(obj); }
  2324. BDAQINL ErrorCode AoChannel_setExtRefUnipolar(AoChannel *obj, double value) { return DAQFN_ET(DNLAPI_AO, 50, double)(obj, value); }
  2325. BDAQINL ErrorCode AoChannel_getScaleTable(AoChannel *obj, int32 *size, MapFuncPiece table[]) { return DAQFN_ETT(DNLAPI_AO, 22, int32 *, MapFuncPiece *)(obj, size, table); }
  2326. BDAQINL ErrorCode AoChannel_setScaleTable(AoChannel *obj, int32 size, MapFuncPiece table[]) { return DAQFN_ETT(DNLAPI_AO, 23, int32 , MapFuncPiece *)(obj, size, table); }
  2327. /* ----------------------------------------------------------*/
  2328. /*AO features */
  2329. /* ----------------------------------------------------------*/
  2330. /*DAC features */
  2331. BDAQINL int32 AoFeatures_getResolution(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 5, int32)(obj); }
  2332. BDAQINL int32 AoFeatures_getDataSize(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 6, int32)(obj); }
  2333. BDAQINL int32 AoFeatures_getDataMask(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 7, int32)(obj); }
  2334. /*channel features */
  2335. BDAQINL int32 AoFeatures_getChannelCountMax(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 8, int32)(obj); }
  2336. BDAQINL IArray * AoFeatures_getValueRanges(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 9, IArray *)(obj);}
  2337. BDAQINL int8 AoFeatures_getExternalRefAntiPolar(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 10, int8)(obj); }
  2338. BDAQINL void AoFeatures_getExternalRefRange(AoFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_AO, 11, MathInterval *)(obj, x); }
  2339. /*buffered ao->basic features */
  2340. BDAQINL int8 AoFeatures_getBufferedAoSupported(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 12, int8)(obj); }
  2341. BDAQINL SamplingMethod AoFeatures_getSamplingMethod(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 13, SamplingMethod)(obj); }
  2342. BDAQINL int32 AoFeatures_getChannelStartBase(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 14, int32)(obj); }
  2343. BDAQINL int32 AoFeatures_getChannelCountBase(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 15, int32)(obj); }
  2344. /*buffered ao->conversion clock features*/
  2345. BDAQINL IArray * AoFeatures_getConvertClockSources(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 16, IArray *)(obj); }
  2346. BDAQINL void AoFeatures_getConvertClockRange(AoFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_AO, 17, MathInterval *)(obj, x);}
  2347. /*buffered ao->trigger features*/
  2348. BDAQINL int32 AoFeatures_getTriggerCount(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 18, int32)(obj); }
  2349. BDAQINL int8 AoFeatures_getRetriggerable(AoFeatures *obj) { return DAQFN_TV(DNLAPI_AO, 51, int8)(obj); }
  2350. /*buffered ao->trigger0 features */
  2351. BDAQINL IArray * AoFeatures_getTriggerSources(AoFeatures *obj) { return DAQFN_TT(DNLAPI_AO, 19, IArray *, int32)(obj, 0); }
  2352. BDAQINL IArray * AoFeatures_getTriggerActions(AoFeatures *obj) { return DAQFN_TT(DNLAPI_AO, 20, IArray *, int32)(obj, 0); }
  2353. BDAQINL void AoFeatures_getTriggerDelayRange(AoFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_AO, 21, int32, MathInterval *)(obj, 0, x); }
  2354. /*buffered ao->trigger1 features */
  2355. BDAQINL IArray * AoFeatures_getTrigger1Sources(AoFeatures *obj) { return DAQFN_TT(DNLAPI_AO, 19, IArray *, int32)(obj, 1); }
  2356. BDAQINL IArray * AoFeatures_getTrigger1Actions(AoFeatures *obj) { return DAQFN_TT(DNLAPI_AO, 20, IArray *, int32)(obj, 1); }
  2357. BDAQINL void AoFeatures_getTrigger1DelayRange(AoFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_AO, 21, int32, MathInterval *)(obj, 1, x); }
  2358. /* ----------------------------------------------------------*/
  2359. /*InstantAoCtrl */
  2360. /* ----------------------------------------------------------*/
  2361. /*base1*/
  2362. BDAQINL ErrorCode InstantAoCtrl_LoadProfile(InstantAoCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2363. BDAQINL void InstantAoCtrl_Cleanup(InstantAoCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2364. BDAQINL void InstantAoCtrl_Dispose(InstantAoCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2365. BDAQINL void InstantAoCtrl_getSelectedDevice(InstantAoCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2366. BDAQINL ErrorCode InstantAoCtrl_setSelectedDevice(InstantAoCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2367. BDAQINL ControlState InstantAoCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj);}
  2368. BDAQINL DeviceCtrl * InstantAoCtrl_getDevice(InstantAoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj);}
  2369. BDAQINL IArray * InstantAoCtrl_getSupportedDevices(InstantAoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2370. BDAQINL IArray * InstantAoCtrl_getSupportedModes(InstantAoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2371. /* base2*/
  2372. BDAQINL AoFeatures * InstantAoCtrl_getFeatures(InstantAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 25, AoFeatures *)(obj); }
  2373. BDAQINL IArray * InstantAoCtrl_getChannels(InstantAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 26, IArray *)(obj); }
  2374. BDAQINL int32 InstantAoCtrl_getChannelCount(InstantAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 27, int32 )(obj); }
  2375. BDAQINL double InstantAoCtrl_getExtRefValueForUnipolar(InstantAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 28, double)(obj); }
  2376. BDAQINL ErrorCode InstantAoCtrl_setExtRefValueForUnipolar(InstantAoCtrl *obj, double value) { return DAQFN_ET(DNLAPI_AO, 29, double)(obj, value);}
  2377. BDAQINL double InstantAoCtrl_getExtRefValueForBipolar(InstantAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 30, double)(obj); }
  2378. BDAQINL ErrorCode InstantAoCtrl_setExtRefValueForBipolar(InstantAoCtrl *obj, double value) { return DAQFN_ET(DNLAPI_AO, 31, double)(obj, value);}
  2379. /* InstantAoCtrl methods */
  2380. BDAQINL ErrorCode InstantAoCtrl_WriteAny(InstantAoCtrl *obj, int32 chStart, int32 chCount, void *dataRaw, double *dataScaled) { return DAQFN_ETTTT(DNLAPI_AO, 32, int32, int32, void *, double *)(obj, chStart, chCount, dataRaw, dataScaled); }
  2381. /*creator*/
  2382. BDAQINL InstantAoCtrl * InstantAoCtrl_Create(void) { return (InstantAoCtrl *)DaqCtrlBase_Create(SceInstantAo); }
  2383. /* ----------------------------------------------------------*/
  2384. /*BufferedAoCtrl */
  2385. /* ----------------------------------------------------------*/
  2386. /*base1*/
  2387. BDAQINL ErrorCode BufferedAoCtrl_LoadProfile(BufferedAoCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2388. BDAQINL void BufferedAoCtrl_Cleanup(BufferedAoCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2389. BDAQINL void BufferedAoCtrl_Dispose(BufferedAoCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2390. BDAQINL void BufferedAoCtrl_getSelectedDevice(BufferedAoCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2391. BDAQINL ErrorCode BufferedAoCtrl_setSelectedDevice(BufferedAoCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2392. BDAQINL ControlState BufferedAoCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj);}
  2393. BDAQINL DeviceCtrl * BufferedAoCtrl_getDevice(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj);}
  2394. BDAQINL IArray * BufferedAoCtrl_getSupportedDevices(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2395. BDAQINL IArray * BufferedAoCtrl_getSupportedModes(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2396. /* base2*/
  2397. BDAQINL AoFeatures * BufferedAoCtrl_getFeatures(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 25, AoFeatures *)(obj); }
  2398. BDAQINL IArray * BufferedAoCtrl_getChannels(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 26, IArray *)(obj); }
  2399. BDAQINL int32 BufferedAoCtrl_getChannelCount(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 27, int32 )(obj); }
  2400. BDAQINL double BufferedAoCtrl_getExtRefValueForUnipolar(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 28, double)(obj); }
  2401. BDAQINL ErrorCode BufferedAoCtrl_setExtRefValueForUnipolar(BufferedAoCtrl *obj, double value) { return DAQFN_ET(DNLAPI_AO, 29, double)(obj, value);}
  2402. BDAQINL double BufferedAoCtrl_getExtRefValueForBipolar(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 30, double)(obj); }
  2403. BDAQINL ErrorCode BufferedAoCtrl_setExtRefValueForBipolar(BufferedAoCtrl *obj, double value) { return DAQFN_ET(DNLAPI_AO, 31, double)(obj, value);}
  2404. /* BufferedAoCtrl Methods & Properties */
  2405. BDAQINL ErrorCode BufferedAoCtrl_Prepare(BufferedAoCtrl *obj) { return DAQFN_EV(DNLAPI_AO, 33)(obj); }
  2406. BDAQINL ErrorCode BufferedAoCtrl_RunOnce(BufferedAoCtrl *obj) { return DAQFN_EV(DNLAPI_AO, 34)(obj); }
  2407. BDAQINL ErrorCode BufferedAoCtrl_Start(BufferedAoCtrl *obj) { return DAQFN_EV(DNLAPI_AO, 35)(obj); }
  2408. BDAQINL ErrorCode BufferedAoCtrl_Stop(BufferedAoCtrl *obj, int32 action) { return DAQFN_ET(DNLAPI_AO, 36, int32)(obj, action); }
  2409. BDAQINL void BufferedAoCtrl_Release(BufferedAoCtrl *obj) { DAQFN_VV(DNLAPI_AO, 37)(obj); }
  2410. BDAQINL int8 BufferedAoCtrl_GetBufferStatus(BufferedAoCtrl *obj, int32 *count, int32 *offset) { return DAQFN_TTT(DNLAPI_AO, 38, int8, int32 *, int32 *)(obj, count, offset); }
  2411. BDAQINL ErrorCode BufferedAoCtrl_SetDataI16(BufferedAoCtrl *obj, int32 count, int16 rawData[]) { return DAQFN_ETTT(DNLAPI_AO, 39, int32, int32, void*)(obj, sizeof(int16), count, rawData); }
  2412. BDAQINL ErrorCode BufferedAoCtrl_SetDataI32(BufferedAoCtrl *obj, int32 count, int32 rawData[]) { return DAQFN_ETTT(DNLAPI_AO, 39, int32, int32, void*)(obj, sizeof(int32), count, rawData); }
  2413. BDAQINL ErrorCode BufferedAoCtrl_SetDataF64(BufferedAoCtrl *obj, int32 count, double scaledData[]) { return DAQFN_ETTT(DNLAPI_AO, 39, int32, int32, void*)(obj, sizeof(double), count, scaledData); }
  2414. BDAQINL void* BufferedAoCtrl_getBuffer(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 40, void*)(obj); }
  2415. BDAQINL int32 BufferedAoCtrl_getBufferCapacity(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 41, int32)(obj); }
  2416. BDAQINL ScanChannel * BufferedAoCtrl_getScanChannel(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 42, ScanChannel *)(obj); }
  2417. BDAQINL ConvertClock * BufferedAoCtrl_getConvertClock(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 43, ConvertClock *)(obj); }
  2418. BDAQINL Trigger * BufferedAoCtrl_getTrigger(BufferedAoCtrl *obj) { return DAQFN_TT(DNLAPI_AO, 44, Trigger *, int32)(obj, 0); }
  2419. BDAQINL Trigger * BufferedAoCtrl_getTrigger1(BufferedAoCtrl *obj) { return DAQFN_TT(DNLAPI_AO, 44, Trigger *, int32)(obj, 1); }
  2420. BDAQINL int8 BufferedAoCtrl_getStreaming(BufferedAoCtrl *obj) { return DAQFN_TV(DNLAPI_AO, 45, int8)(obj); }
  2421. BDAQINL ErrorCode BufferedAoCtrl_setStreaming(BufferedAoCtrl *obj, int8 value) { return DAQFN_ET(DNLAPI_AO, 46, int8)(obj, value); }
  2422. /*creator*/
  2423. BDAQINL BufferedAoCtrl * BufferedAoCtrl_Create(void) { return (BufferedAoCtrl *)DaqCtrlBase_Create(SceBufferedAo); }
  2424. /*Helpers*/
  2425. BDAQINL void BufferedAoCtrl_addDataTransmittedHandler(BufferedAoCtrl *obj, BfdAoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAoDataTransmitted, (DaqEventProc)proc, userParam); }
  2426. BDAQINL void BufferedAoCtrl_removeDataTransmittedHandler(BufferedAoCtrl *obj, BfdAoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAoDataTransmitted, (DaqEventProc)proc, userParam); }
  2427. BDAQINL void BufferedAoCtrl_addUnderrunHandler(BufferedAoCtrl *obj, BfdAoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAoUnderrun, (DaqEventProc)proc, userParam); }
  2428. BDAQINL void BufferedAoCtrl_removeUnderrunHandler(BufferedAoCtrl *obj, BfdAoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAoUnderrun, (DaqEventProc)proc, userParam); }
  2429. BDAQINL void BufferedAoCtrl_addCacheEmptiedHandler(BufferedAoCtrl *obj, BfdAoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAoCacheEmptied, (DaqEventProc)proc, userParam); }
  2430. BDAQINL void BufferedAoCtrl_removeCacheEmptiedHandler(BufferedAoCtrl *obj, BfdAoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAoCacheEmptied, (DaqEventProc)proc, userParam); }
  2431. BDAQINL void BufferedAoCtrl_addTransitStoppedHandler(BufferedAoCtrl *obj, BfdAoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAoTransStopped, (DaqEventProc)proc, userParam); }
  2432. BDAQINL void BufferedAoCtrl_removeTransitStoppedHandler(BufferedAoCtrl *obj, BfdAoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAoTransStopped, (DaqEventProc)proc, userParam); }
  2433. BDAQINL void BufferedAoCtrl_addStoppedHandler(BufferedAoCtrl *obj, BfdAoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedAoStopped, (DaqEventProc)proc, userParam); }
  2434. BDAQINL void BufferedAoCtrl_removeStoppedHandler(BufferedAoCtrl *obj, BfdAoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedAoStopped, (DaqEventProc)proc, userParam); }
  2435. /*************************************************************/
  2436. /*ctrl class : DIO related classes */
  2437. /* ----------------------------------------------------------*/
  2438. /*DioPort*/
  2439. /* ----------------------------------------------------------*/
  2440. BDAQINL int32 DioPort_getPort(DioPort *obj) { return DAQFN_TV(DNLAPI_DIO, 0, int32)(obj); }
  2441. BDAQINL uint8 DioPort_getDirectionMask(DioPort *obj) { return (uint8)DAQFN_TV(DNLAPI_DIO, 1, int32)(obj); }
  2442. BDAQINL ErrorCode DioPort_setDirectionMask(DioPort *obj, uint8 value) { return DAQFN_ET(DNLAPI_DIO, 2, int32)(obj, value); }
  2443. /*DI port property*/
  2444. BDAQINL uint8 DioPort_getDiInversePort(DioPort *obj) { return DAQFN_TV(DNLAPI_DIO, 3, uint8)(obj); }
  2445. BDAQINL ErrorCode DioPort_setDiInversePort(DioPort *obj, uint8 value) { return DAQFN_ET(DNLAPI_DIO, 4, uint8)(obj, value); }
  2446. BDAQINL uint8 DioPort_getDiOpenState(DioPort *obj) { return DAQFN_TV(DNLAPI_DIO, 133, uint8)(obj); }
  2447. BDAQINL ErrorCode DioPort_setDiOpenState(DioPort *obj, uint8 value) { return DAQFN_ET(DNLAPI_DIO, 134, uint8)(obj, value); }
  2448. /*DO port property*/
  2449. BDAQINL uint8 DioPort_getDoPresetValue(DioPort *obj) { return DAQFN_TV(DNLAPI_DIO, 64, uint8)(obj); }
  2450. BDAQINL ErrorCode DioPort_setDoPresetValue(DioPort *obj, uint8 value) { return DAQFN_ET(DNLAPI_DIO, 65, uint8)(obj, value);}
  2451. BDAQINL DoCircuitType DioPort_getDoCircuitType(DioPort *obj) { return DAQFN_TV(DNLAPI_DIO, 67, DoCircuitType)(obj); }
  2452. BDAQINL ErrorCode DioPort_setDoCircuitType(DioPort *obj, DoCircuitType value) { return DAQFN_ET(DNLAPI_DIO, 68, DoCircuitType)(obj, value);}
  2453. // For compatible
  2454. #define DioPort_getDirection(obj) (DioPortDir)DioPort_getDirectionMask(obj)
  2455. #define DioPort_setDirection(obj, value) DioPort_setDirectionMask(obj, (uint8)value)
  2456. /* ----------------------------------------------------------*/
  2457. /*DiintChannel*/
  2458. /* ----------------------------------------------------------*/
  2459. BDAQINL int32 DiintChannel_getChannel(DiintChannel *obj) { return DAQFN_TV(DNLAPI_DIO, 7 , int32)(obj); }
  2460. BDAQINL int8 DiintChannel_getEnabled(DiintChannel *obj) { return DAQFN_TV(DNLAPI_DIO, 8 , int8)(obj); }
  2461. BDAQINL ErrorCode DiintChannel_setEnabled(DiintChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_DIO, 9 , int8)(obj, value); }
  2462. BDAQINL int8 DiintChannel_getGated(DiintChannel *obj) { return DAQFN_TV(DNLAPI_DIO, 10, int8)(obj); }
  2463. BDAQINL ErrorCode DiintChannel_setGated(DiintChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_DIO, 11, int8)(obj, value); }
  2464. BDAQINL ActiveSignal DiintChannel_getTrigEdge(DiintChannel *obj) { return DAQFN_TV(DNLAPI_DIO, 12, ActiveSignal)(obj);}
  2465. BDAQINL ErrorCode DiintChannel_setTrigEdge(DiintChannel *obj, ActiveSignal value) { return DAQFN_ET(DNLAPI_DIO, 13, ActiveSignal)(obj, value);}
  2466. /* ----------------------------------------------------------*/
  2467. /*DiCosintPort */
  2468. /* ----------------------------------------------------------*/
  2469. BDAQINL int32 DiCosintPort_getPort(DiCosintPort *obj) { return DAQFN_TV(DNLAPI_DIO, 14, int32)(obj); }
  2470. BDAQINL uint8 DiCosintPort_getMask(DiCosintPort *obj) { return DAQFN_TV(DNLAPI_DIO, 15, uint8)(obj); }
  2471. BDAQINL ErrorCode DiCosintPort_setMask(DiCosintPort *obj, uint8 value) { return DAQFN_ET(DNLAPI_DIO, 16, uint8)(obj, value);}
  2472. /* ----------------------------------------------------------*/
  2473. /*DiPmintPort */
  2474. /* ----------------------------------------------------------*/
  2475. BDAQINL int32 DiPmintPort_getPort(DiPmintPort *obj) { return DAQFN_TV(DNLAPI_DIO, 17, int32)(obj); }
  2476. BDAQINL uint8 DiPmintPort_getMask(DiPmintPort *obj) { return DAQFN_TV(DNLAPI_DIO, 18, uint8)(obj); }
  2477. BDAQINL ErrorCode DiPmintPort_setMask(DiPmintPort *obj, uint8 value) { return DAQFN_ET(DNLAPI_DIO, 19, uint8)(obj, value);}
  2478. BDAQINL uint8 DiPmintPort_getPattern(DiPmintPort *obj) { return DAQFN_TV(DNLAPI_DIO, 20, uint8)(obj); }
  2479. BDAQINL ErrorCode DiPmintPort_setPattern(DiPmintPort *obj, uint8 value) { return DAQFN_ET(DNLAPI_DIO, 21, uint8)(obj, value);}
  2480. /* ----------------------------------------------------------*/
  2481. /*DIO features */
  2482. /* ----------------------------------------------------------*/
  2483. /*Common*/
  2484. BDAQINL int8 DioFeatures_getPortProgrammable(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 22, int8)(obj); }
  2485. BDAQINL int32 DioFeatures_getChannelCountMax(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 23, int32)(obj); }
  2486. BDAQINL int32 DioFeatures_getPortCount(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 24, int32)(obj); }
  2487. BDAQINL IArray * DioFeatures_getPortsType(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 25, IArray *)(obj); }
  2488. BDAQINL int8 DioFeatures_getDiSupported(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 26, int8)(obj); }
  2489. BDAQINL int8 DioFeatures_getDoSupported(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 27, int8)(obj); }
  2490. /*DI Features*/
  2491. BDAQINL IArray * DioFeatures_getDiDataMask(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 28, IArray *)(obj); }
  2492. /*di noise filter features*/
  2493. BDAQINL int8 DioFeatures_getDiNoiseFilterSupported(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 29, int8)(obj); }
  2494. BDAQINL IArray * DioFeatures_getDiNoiseFilterOfChannels(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 30, IArray *)(obj); }
  2495. BDAQINL void DioFeatures_getDiNoiseFilterBlockTimeRange(DioFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_DIO, 31, MathInterval *)(obj, x); }
  2496. /*di interrupt features*/
  2497. BDAQINL int8 DioFeatures_getDiintSupported(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 32, int8)(obj); }
  2498. BDAQINL int8 DioFeatures_getDiintGateSupported(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 33, int8)(obj); }
  2499. BDAQINL int8 DioFeatures_getDiCosintSupported(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 34, int8)(obj); }
  2500. BDAQINL int8 DioFeatures_getDiPmintSupported(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 35, int8)(obj); }
  2501. BDAQINL IArray * DioFeatures_getDiintTriggerEdges(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 36, IArray *)(obj); }
  2502. BDAQINL IArray * DioFeatures_getDiintOfChannels(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 37, IArray *)(obj); }
  2503. BDAQINL IArray * DioFeatures_getDiintGateOfChannels(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 38, IArray *)(obj); }
  2504. BDAQINL IArray * DioFeatures_getDiCosintOfPorts(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 39, IArray *)(obj); }
  2505. BDAQINL IArray * DioFeatures_getDiPmintOfPorts(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 40, IArray *)(obj); }
  2506. BDAQINL IArray * DioFeatures_getDiSnapEventSources(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 41, IArray *)(obj); }
  2507. /*DO features */
  2508. BDAQINL IArray * DioFeatures_getDoDataMask(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 42, IArray *)(obj); }
  2509. BDAQINL IArray * DioFeatures_getDoFreezeSignalSources(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 43, IArray *)(obj); }
  2510. BDAQINL void DioFeatures_getDoReflectWdtFeedIntervalRange(DioFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_DIO, 44, MathInterval *)(obj, x);}
  2511. BDAQINL Depository DioFeatures_getDoPresetValueDepository(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 63, Depository)(obj); }
  2512. BDAQINL IArray * DioFeatures_getDoCircuitSelectableTypes(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 66, IArray *)(obj); }
  2513. /*For compatible*/
  2514. BDAQINL IArray * DioFeatures_getDataMask(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 62, IArray *)(obj); }
  2515. /*buffered di->basic features*/
  2516. BDAQINL int8 DioFeatures_getBufferedDiSupported(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 69, int8)(obj); }
  2517. BDAQINL SamplingMethod DioFeatures_getDiSamplingMethod(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 70, SamplingMethod)(obj); }
  2518. /*buffered di->conversion clock features*/
  2519. BDAQINL IArray * DioFeatures_getDiConvertClockSources(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 71, IArray *)(obj); }
  2520. BDAQINL void DioFeatures_getDiConvertClockRange(DioFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_DIO, 72, MathInterval *)(obj, x);}
  2521. /*buffered di->trigger features*/
  2522. BDAQINL int8 DioFeatures_getDiRetriggerable(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 73, int8)(obj); }
  2523. BDAQINL int32 DioFeatures_getDiTriggerCount(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 74, int32)(obj); }
  2524. /*buffered di->trigger0 features*/
  2525. BDAQINL IArray * DioFeatures_getDiTriggerActions(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 75, IArray *, int32)(obj, 0); }
  2526. BDAQINL void DioFeatures_getDiTriggerDelayRange(DioFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_DIO, 76, int32, MathInterval *)(obj, 0, x);}
  2527. BDAQINL IArray * DioFeatures_getDiTriggerSources(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 77, IArray *, int32)(obj, 0); }
  2528. BDAQINL ValueRange DioFeatures_getDiTriggerSourceVrg(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 78, ValueRange, int32)(obj, 0); }
  2529. BDAQINL double DioFeatures_getDiTriggerHysteresisIndexMax(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 79, double, int32)(obj, 0); }
  2530. BDAQINL int32 DioFeatures_getDiTriggerHysteresisIndexStep(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 80, int32, int32)(obj, 0); }
  2531. /*buffered di->trigger1 features*/
  2532. BDAQINL IArray * DioFeatures_getDiTrigger1Actions(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 75, IArray *, int32)(obj, 1); }
  2533. BDAQINL void DioFeatures_getDiTrigger1DelayRange(DioFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_DIO, 76, int32, MathInterval *)(obj, 1, x);}
  2534. BDAQINL IArray * DioFeatures_getDiTrigger1Sources(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 77, IArray *, int32)(obj, 1); }
  2535. BDAQINL ValueRange DioFeatures_getDiTrigger1SourceVrg(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 78, ValueRange, int32)(obj, 1); }
  2536. BDAQINL double DioFeatures_getDiTrigger1HysteresisIndexMax(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 79, double, int32)(obj, 1); }
  2537. BDAQINL int32 DioFeatures_getDiTrigger1HysteresisIndexStep(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 80, int32, int32)(obj, 1); }
  2538. /*buffered di & buffered do*/
  2539. BDAQINL int32 DioFeatures_getDataSize(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 92, int32)(obj); }
  2540. BDAQINL int32 DioFeatures_getResolution(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 93, int32)(obj); }
  2541. /*buffered do->basic features*/
  2542. BDAQINL int8 DioFeatures_getBufferedDoSupported(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 94, int8)(obj); }
  2543. BDAQINL SamplingMethod DioFeatures_getDoSamplingMethod(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 95, SamplingMethod)(obj); }
  2544. /*buffered do->conversion clock features*/
  2545. BDAQINL IArray * DioFeatures_getDoConvertClockSources(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 96, IArray *)(obj); }
  2546. BDAQINL void DioFeatures_getDoConvertClockRange(DioFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_DIO, 97, MathInterval *)(obj, x);}
  2547. /*buffered do->trigger features*/
  2548. BDAQINL int8 DioFeatures_getDoRetriggerable(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 98, int8)(obj); }
  2549. BDAQINL int32 DioFeatures_getDoTriggerCount(DioFeatures *obj) { return DAQFN_TV(DNLAPI_DIO, 99, int32)(obj); }
  2550. /*buffered do->trigger0 features*/
  2551. BDAQINL IArray * DioFeatures_getDoTriggerActions(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 100, IArray *, int32)(obj, 0); }
  2552. BDAQINL void DioFeatures_getDoTriggerDelayRange(DioFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_DIO, 101, int32, MathInterval *)(obj, 0, x);}
  2553. BDAQINL IArray * DioFeatures_getDoTriggerSources(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 102, IArray *, int32)(obj, 0); }
  2554. BDAQINL ValueRange DioFeatures_getDoTriggerSourceVrg(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 103, ValueRange, int32)(obj, 0); }
  2555. BDAQINL double DioFeatures_getDoTriggerHysteresisIndexMax(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 104, double, int32)(obj, 0); }
  2556. BDAQINL int32 DioFeatures_getDoTriggerHysteresisIndexStep(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 105, int32, int32)(obj, 0); }
  2557. /*buffered do->trigger1 features*/
  2558. BDAQINL IArray * DioFeatures_getDoTrigger1Actions(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 100, IArray *, int32)(obj, 1); }
  2559. BDAQINL void DioFeatures_getDoTrigger1DelayRange(DioFeatures *obj, MathInterval *x) { DAQFN_VTT(DNLAPI_DIO, 101, int32, MathInterval *)(obj, 1, x);}
  2560. BDAQINL IArray * DioFeatures_getDoTrigger1Sources(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 102, IArray *, int32)(obj, 1); }
  2561. BDAQINL ValueRange DioFeatures_getDoTrigger1SourceVrg(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 103, ValueRange, int32)(obj, 1); }
  2562. BDAQINL double DioFeatures_getDoTrigger1HysteresisIndexMax(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 104, double, int32)(obj, 1); }
  2563. BDAQINL int32 DioFeatures_getDoTrigger1HysteresisIndexStep(DioFeatures *obj) { return DAQFN_TT(DNLAPI_DIO, 105, int32, int32)(obj, 1); }
  2564. /* ----------------------------------------------------------*/
  2565. /*InstantDiCtrl */
  2566. /* ----------------------------------------------------------*/
  2567. /*base1*/
  2568. BDAQINL ErrorCode InstantDiCtrl_LoadProfile(InstantDiCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2569. BDAQINL void InstantDiCtrl_Cleanup(InstantDiCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2570. BDAQINL void InstantDiCtrl_Dispose(InstantDiCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2571. BDAQINL void InstantDiCtrl_getSelectedDevice(InstantDiCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2572. BDAQINL ErrorCode InstantDiCtrl_setSelectedDevice(InstantDiCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2573. BDAQINL ControlState InstantDiCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  2574. BDAQINL DeviceCtrl * InstantDiCtrl_getDevice(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  2575. BDAQINL IArray * InstantDiCtrl_getSupportedDevices(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2576. BDAQINL IArray * InstantDiCtrl_getSupportedModes(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2577. /*base2*/
  2578. BDAQINL DioFeatures * InstantDiCtrl_getFeatures(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 45, DioFeatures *)(obj); }
  2579. BDAQINL int32 InstantDiCtrl_getPortCount(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 46, int32)(obj); }
  2580. BDAQINL IArray * InstantDiCtrl_getPorts(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 47, IArray *)(obj); }
  2581. /* Instant DI Methods & Properties */
  2582. BDAQINL ErrorCode InstantDiCtrl_ReadAny(InstantDiCtrl *obj, int32 portStart, int32 portCount, uint8 data[]) { return DAQFN_ETTT(DNLAPI_DIO, 48, int32, int32, uint8 *)(obj, portStart, portCount, data);}
  2583. BDAQINL ErrorCode InstantDiCtrl_ReadBit(InstantDiCtrl *obj, int32 port, int32 bit, uint8* data) { return DAQFN_ETTT(DNLAPI_DIO, 49, int32, int32, uint8 *)(obj, port, bit, data); }
  2584. BDAQINL ErrorCode InstantDiCtrl_SnapStart(InstantDiCtrl *obj) { return DAQFN_EV(DNLAPI_DIO, 50)(obj); }
  2585. BDAQINL ErrorCode InstantDiCtrl_SnapStop(InstantDiCtrl *obj) { return DAQFN_EV(DNLAPI_DIO, 51)(obj); }
  2586. BDAQINL double InstantDiCtrl_getNoiseFilterBlockTime(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 52, double)(obj); }
  2587. BDAQINL ErrorCode InstantDiCtrl_setNoiseFilterBlockTime(InstantDiCtrl *obj, double value) { return DAQFN_ET(DNLAPI_DIO, 53, double)(obj, value); }
  2588. BDAQINL IArray * InstantDiCtrl_getNoiseFilter(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 54, IArray *)(obj); }
  2589. BDAQINL IArray * InstantDiCtrl_getDiintChannels(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 55, IArray *)(obj); }
  2590. BDAQINL IArray * InstantDiCtrl_getDiCosintPorts(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 56, IArray *)(obj); }
  2591. BDAQINL IArray * InstantDiCtrl_getDiPmintPorts(InstantDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 57, IArray *)(obj); }
  2592. /*creator*/
  2593. BDAQINL InstantDiCtrl * InstantDiCtrl_Create(void) { return (InstantDiCtrl *)DaqCtrlBase_Create(SceInstantDi); }
  2594. /*Helpers*/
  2595. BDAQINL void InstantDiCtrl_addInterruptHandler(InstantDiCtrl *obj,DiSnapEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtDiInterrupt, (DaqEventProc)proc, userParam);}
  2596. BDAQINL void InstantDiCtrl_removeInterruptHandler(InstantDiCtrl *obj,DiSnapEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtDiInterrupt, (DaqEventProc)proc, userParam);}
  2597. BDAQINL void InstantDiCtrl_addChangeOfStateHandler(InstantDiCtrl *obj,DiSnapEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtDiStatusChange, (DaqEventProc)proc, userParam);}
  2598. BDAQINL void InstantDiCtrl_removeChangeOfStateHandler(InstantDiCtrl *obj,DiSnapEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtDiStatusChange, (DaqEventProc)proc, userParam);}
  2599. BDAQINL void InstantDiCtrl_addPatternMatchHandler(InstantDiCtrl *obj,DiSnapEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtDiPatternMatch, (DaqEventProc)proc, userParam);}
  2600. BDAQINL void InstantDiCtrl_removePatternMatchHandler(InstantDiCtrl *obj,DiSnapEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtDiPatternMatch, (DaqEventProc)proc, userParam);}
  2601. /* ----------------------------------------------------------*/
  2602. /*BufferedDiCtrl */
  2603. /* ----------------------------------------------------------*/
  2604. /*base1*/
  2605. BDAQINL ErrorCode BufferedDiCtrl_LoadProfile(BufferedDiCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2606. BDAQINL void BufferedDiCtrl_Cleanup(BufferedDiCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2607. BDAQINL void BufferedDiCtrl_Dispose(BufferedDiCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2608. BDAQINL void BufferedDiCtrl_getSelectedDevice(BufferedDiCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2609. BDAQINL ErrorCode BufferedDiCtrl_setSelectedDevice(BufferedDiCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2610. BDAQINL ControlState BufferedDiCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj);}
  2611. BDAQINL DeviceCtrl * BufferedDiCtrl_getDevice(BufferedDiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj);}
  2612. BDAQINL IArray * BufferedDiCtrl_getSupportedDevices(BufferedDiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2613. BDAQINL IArray * BufferedDiCtrl_getSupportedModes(BufferedDiCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2614. /*base2*/
  2615. BDAQINL DioFeatures * BufferedDiCtrl_getFeatures(BufferedDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 45, DioFeatures *)(obj); }
  2616. BDAQINL int32 BufferedDiCtrl_getPortCount(BufferedDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 46, int32)(obj); }
  2617. BDAQINL IArray * BufferedDiCtrl_getPorts(BufferedDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 47, IArray *)(obj); }
  2618. /* BufferedDiCtrl Methods & Properties */
  2619. BDAQINL ErrorCode BufferedDiCtrl_Prepare(BufferedDiCtrl *obj) { return DAQFN_EV(DNLAPI_DIO, 81)(obj); }
  2620. BDAQINL ErrorCode BufferedDiCtrl_Start(BufferedDiCtrl *obj) { return DAQFN_EV(DNLAPI_DIO, 82)(obj); }
  2621. BDAQINL ErrorCode BufferedDiCtrl_Stop(BufferedDiCtrl *obj) { return DAQFN_EV(DNLAPI_DIO, 83)(obj); }
  2622. BDAQINL void BufferedDiCtrl_Release(BufferedDiCtrl *obj) { DAQFN_VV(DNLAPI_DIO, 84)(obj); }
  2623. BDAQINL int8 BufferedDiCtrl_GetBufferStatus(BufferedDiCtrl *obj, int32 *count, int32 *offset) { return DAQFN_TTT(DNLAPI_DIO, 85, int8, int32 *, int32 *)(obj, count, offset); }
  2624. BDAQINL ErrorCode BufferedDiCtrl_GetData(BufferedDiCtrl *obj, int32 count, int8 dataBuf[],
  2625. int32 timeout, int32 *returned, double * startTime, int32 *markCount, DataMark *markBuf)
  2626. {
  2627. typedef ErrorCode (BDAQCALL *FNGETDATA)(void *, int32, void *, int32, int32 *, double *, int32 *, DataMark *);
  2628. return ((FNGETDATA)DNLAPI_DIO[86])(obj, count, dataBuf, timeout, returned, startTime, markCount, markBuf);
  2629. }
  2630. BDAQINL void* BufferedDiCtrl_getBuffer(BufferedDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 87, void*)(obj); }
  2631. BDAQINL int32 BufferedDiCtrl_getBufferCapacity(BufferedDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 88, int32)(obj); }
  2632. BDAQINL ScanPort * BufferedDiCtrl_getScanPort(BufferedDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 89, ScanPort *)(obj); }
  2633. BDAQINL ConvertClock* BufferedDiCtrl_getConvertClock(BufferedDiCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 90, ConvertClock *)(obj); }
  2634. BDAQINL Trigger * BufferedDiCtrl_getTrigger(BufferedDiCtrl *obj) { return DAQFN_TT(DNLAPI_DIO, 91, Trigger *, int32)(obj, 0); }
  2635. BDAQINL Trigger * BufferedDiCtrl_getTrigger1(BufferedDiCtrl *obj) { return DAQFN_TT(DNLAPI_DIO, 91, Trigger *, int32)(obj, 1); }
  2636. BDAQINL BufferedDiCtrl * BufferedDiCtrl_Create(void) { return (BufferedDiCtrl *)DaqCtrlBase_Create(SceBufferedDi); }
  2637. /*Helpers*/
  2638. BDAQINL void BufferedDiCtrl_addDataReadyHandler(BufferedDiCtrl *obj, BfdDiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedDiDataReady, (DaqEventProc)proc, userParam);}
  2639. BDAQINL void BufferedDiCtrl_removeDataReadyHandler(BufferedDiCtrl *obj, BfdDiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedDiDataReady, (DaqEventProc)proc, userParam);}
  2640. BDAQINL void BufferedDiCtrl_addOverrunHandler(BufferedDiCtrl *obj, BfdDiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedDiOverrun, (DaqEventProc)proc, userParam);}
  2641. BDAQINL void BufferedDiCtrl_removeOverrunHandler(BufferedDiCtrl *obj, BfdDiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedDiOverrun, (DaqEventProc)proc, userParam);}
  2642. BDAQINL void BufferedDiCtrl_addCacheOverflowHandler(BufferedDiCtrl *obj, BfdDiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedDiCacheOverflow, (DaqEventProc)proc, userParam);}
  2643. BDAQINL void BufferedDiCtrl_removeCacheOverflowHandler(BufferedDiCtrl *obj, BfdDiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedDiCacheOverflow, (DaqEventProc)proc, userParam);}
  2644. BDAQINL void BufferedDiCtrl_addStoppedHandler(BufferedDiCtrl *obj, BfdDiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedDiStopped, (DaqEventProc)proc, userParam);}
  2645. BDAQINL void BufferedDiCtrl_removeStoppedHandler(BufferedDiCtrl *obj, BfdDiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedDiStopped, (DaqEventProc)proc, userParam);}
  2646. /* ----------------------------------------------------------*/
  2647. /*InstantDoCtrl */
  2648. /* ----------------------------------------------------------*/
  2649. /*base1*/
  2650. BDAQINL ErrorCode InstantDoCtrl_LoadProfile(InstantDoCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2651. BDAQINL void InstantDoCtrl_Cleanup(InstantDoCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2652. BDAQINL void InstantDoCtrl_Dispose(InstantDoCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2653. BDAQINL void InstantDoCtrl_getSelectedDevice(InstantDoCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2654. BDAQINL ErrorCode InstantDoCtrl_setSelectedDevice(InstantDoCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2655. BDAQINL ControlState InstantDoCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  2656. BDAQINL DeviceCtrl * InstantDoCtrl_getDevice(InstantDoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  2657. BDAQINL IArray * InstantDoCtrl_getSupportedDevices(InstantDoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2658. BDAQINL IArray * InstantDoCtrl_getSupportedModes(InstantDoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2659. /*base2*/
  2660. BDAQINL DioFeatures * InstantDoCtrl_getFeatures(InstantDoCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 45, DioFeatures *)(obj); }
  2661. BDAQINL int32 InstantDoCtrl_getPortCount(InstantDoCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 46, int32)(obj); }
  2662. BDAQINL IArray * InstantDoCtrl_getPorts(InstantDoCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 47, IArray *)(obj); }
  2663. /* Instant DO methods */
  2664. BDAQINL ErrorCode InstantDoCtrl_WriteAny(InstantDoCtrl *obj, int32 portStart, int32 portCount, uint8 data[]) { return DAQFN_ETTT(DNLAPI_DIO, 58, int32, int32, uint8 *)(obj, portStart, portCount, data); }
  2665. BDAQINL ErrorCode InstantDoCtrl_ReadAny(InstantDoCtrl *obj, int32 portStart, int32 portCount, uint8 data[]) { return DAQFN_ETTT(DNLAPI_DIO, 59, int32, int32, uint8 *)(obj, portStart, portCount, data); }
  2666. BDAQINL ErrorCode InstantDoCtrl_WriteBit(InstantDoCtrl *obj, int32 port, int32 bit, uint8 data) { return DAQFN_ETTT(DNLAPI_DIO, 60, int32, int32, uint8 )(obj, port, bit, data); }
  2667. BDAQINL ErrorCode InstantDoCtrl_ReadBit(InstantDoCtrl *obj, int32 port, int32 bit, uint8* data) { return DAQFN_ETTT(DNLAPI_DIO, 61, int32, int32, uint8 *)(obj, port, bit, data); }
  2668. /*creator*/
  2669. BDAQINL InstantDoCtrl * InstantDoCtrl_Create(void) { return (InstantDoCtrl *)DaqCtrlBase_Create(SceInstantDo); }
  2670. /* ----------------------------------------------------------*/
  2671. /*BufferedDoCtrl */
  2672. /* ----------------------------------------------------------*/
  2673. /*base1*/
  2674. BDAQINL ErrorCode BufferedDoCtrl_LoadProfile(BufferedDoCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2675. BDAQINL void BufferedDoCtrl_Cleanup(BufferedDoCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2676. BDAQINL void BufferedDoCtrl_Dispose(BufferedDoCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2677. BDAQINL void BufferedDoCtrl_getSelectedDevice(BufferedDoCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2678. BDAQINL ErrorCode BufferedDoCtrl_setSelectedDevice(BufferedDoCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2679. BDAQINL ControlState BufferedDoCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj);}
  2680. BDAQINL DeviceCtrl * BufferedDoCtrl_getDevice(BufferedDoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj);}
  2681. BDAQINL IArray * BufferedDoCtrl_getSupportedDevices(BufferedDoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2682. BDAQINL IArray * BufferedDoCtrl_getSupportedModes(BufferedDoCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2683. /* base2*/
  2684. BDAQINL DioFeatures * BufferedDoCtrl_getFeatures(BufferedDoCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 45, DioFeatures *)(obj); }
  2685. BDAQINL int32 BufferedDoCtrl_getPortCount(BufferedDoCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 46, int32)(obj); }
  2686. BDAQINL IArray * BufferedDoCtrl_getPorts(BufferedDoCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 47, IArray *)(obj); }
  2687. /* BufferedDoCtrl Methods & Properties */
  2688. BDAQINL ErrorCode BufferedDoCtrl_Prepare(BufferedDoCtrl *obj) { return DAQFN_EV(DNLAPI_DIO, 106)(obj); }
  2689. BDAQINL ErrorCode BufferedDoCtrl_RunOnce(BufferedDoCtrl *obj) { return DAQFN_EV(DNLAPI_DIO, 107)(obj); }
  2690. BDAQINL ErrorCode BufferedDoCtrl_Start(BufferedDoCtrl *obj) { return DAQFN_EV(DNLAPI_DIO, 108)(obj); }
  2691. BDAQINL ErrorCode BufferedDoCtrl_Stop(BufferedDoCtrl *obj, int32 action) { return DAQFN_ET(DNLAPI_DIO, 109, int32)(obj, action); }
  2692. BDAQINL void BufferedDoCtrl_Release(BufferedDoCtrl *obj) { DAQFN_VV(DNLAPI_DIO, 110)(obj); }
  2693. BDAQINL int8 BufferedDoCtrl_GetBufferStatus(BufferedDoCtrl *obj, int32 *count, int32 *offset) { return DAQFN_TTT(DNLAPI_DIO, 111, int8, int32 *, int32 *)(obj, count, offset); }
  2694. BDAQINL ErrorCode BufferedDoCtrl_SetData(BufferedDoCtrl *obj, int32 count, int8 rawData[]) { return DAQFN_ETT(DNLAPI_DIO, 112, int32, void*)(obj, count, rawData); }
  2695. BDAQINL void* BufferedDoCtrl_getBuffer(BufferedDoCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 113, void*)(obj); }
  2696. BDAQINL int32 BufferedDoCtrl_getBufferCapacity(BufferedDoCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 114, int32)(obj); }
  2697. BDAQINL ScanPort * BufferedDoCtrl_getScanPort(BufferedDoCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 115, ScanPort *)(obj); }
  2698. BDAQINL ConvertClock* BufferedDoCtrl_getConvertClock(BufferedDoCtrl *obj) { return DAQFN_TV(DNLAPI_DIO, 116, ConvertClock *)(obj); }
  2699. BDAQINL Trigger * BufferedDoCtrl_getTrigger(BufferedDoCtrl *obj) { return DAQFN_TT(DNLAPI_DIO, 117, Trigger *, int32)(obj, 0); }
  2700. BDAQINL Trigger * BufferedDoCtrl_getTrigger1(BufferedDoCtrl *obj) { return DAQFN_TT(DNLAPI_DIO, 117, Trigger *, int32)(obj, 1); }
  2701. /* ----------------------------------------------------------*/
  2702. /*common classes : ScanPort new for buffered dio */
  2703. /* ----------------------------------------------------------*/
  2704. BDAQINL int32 ScanPort_getPortStart(ScanPort *obj) { return DAQFN_TV(DNLAPI_DIO, 121, int32)(obj); }
  2705. BDAQINL ErrorCode ScanPort_setPortStart(ScanPort *obj, int32 value) { return DAQFN_ET(DNLAPI_DIO, 122, int32)(obj, value); }
  2706. BDAQINL int32 ScanPort_getPortCount(ScanPort *obj) { return DAQFN_TV(DNLAPI_DIO, 123, int32)(obj); }
  2707. BDAQINL ErrorCode ScanPort_setPortCount(ScanPort *obj, int32 value) { return DAQFN_ET(DNLAPI_DIO, 124, int32)(obj, value); }
  2708. BDAQINL void ScanPort_getPortMap(ScanPort *obj, int32 count, int8 *portMap) { DAQFN_VTT(DNLAPI_DIO, 125, int32, int8 *)(obj, count, portMap); }
  2709. BDAQINL ErrorCode ScanPort_setPortMap(ScanPort *obj, int32 count, int8 *portMap) { return DAQFN_ETT(DNLAPI_DIO, 126, int32, int8 *)(obj, count, portMap); }
  2710. BDAQINL int32 ScanPort_getSectionLength(ScanPort *obj) { return DAQFN_TV(DNLAPI_DIO, 127, int32)(obj); }
  2711. BDAQINL ErrorCode ScanPort_setSectionLength(ScanPort *obj, int32 value) { return DAQFN_ET(DNLAPI_DIO, 128, int32)(obj, value); }
  2712. BDAQINL int32 ScanPort_getSectionCount(ScanPort *obj) { return DAQFN_TV(DNLAPI_DIO, 129, int32)(obj); }
  2713. BDAQINL ErrorCode ScanPort_setSectionCount(ScanPort *obj, int32 value) { return DAQFN_ET(DNLAPI_DIO, 130, int32)(obj, value); }
  2714. BDAQINL int32 ScanPort_getCycles(ScanPort *obj) { return DAQFN_TV(DNLAPI_DIO, 131, int32)(obj); }
  2715. BDAQINL ErrorCode ScanPort_setCycles(ScanPort *obj, int32 value) { return DAQFN_ET(DNLAPI_DIO, 132, int32)(obj, value); }
  2716. /*creator*/
  2717. BDAQINL BufferedDoCtrl * BufferedDoCtrl_Create(void) { return (BufferedDoCtrl *)DaqCtrlBase_Create(SceBufferedDo); }
  2718. /*Helpers*/
  2719. BDAQINL void BufferedDoCtrl_addDataTransmittedHandler(BufferedDoCtrl *obj, BfdDoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedDoDataTransmitted, (DaqEventProc)proc, userParam); }
  2720. BDAQINL void BufferedDoCtrl_removeDataTransmittedHandler(BufferedDoCtrl *obj, BfdDoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedDoDataTransmitted, (DaqEventProc)proc, userParam); }
  2721. BDAQINL void BufferedDoCtrl_addUnderrunHandler(BufferedDoCtrl *obj, BfdDoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedDoUnderrun, (DaqEventProc)proc, userParam); }
  2722. BDAQINL void BufferedDoCtrl_removeUnderrunHandler(BufferedDoCtrl *obj, BfdDoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedDoUnderrun, (DaqEventProc)proc, userParam); }
  2723. BDAQINL void BufferedDoCtrl_addCacheEmptiedHandler(BufferedDoCtrl *obj, BfdDoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedDoCacheEmptied, (DaqEventProc)proc, userParam); }
  2724. BDAQINL void BufferedDoCtrl_removeCacheEmptiedHandler(BufferedDoCtrl *obj, BfdDoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedDoCacheEmptied, (DaqEventProc)proc, userParam); }
  2725. BDAQINL void BufferedDoCtrl_addTransitStoppedHandler(BufferedDoCtrl *obj, BfdDoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedDoTransStopped, (DaqEventProc)proc, userParam); }
  2726. BDAQINL void BufferedDoCtrl_removeTransitStoppedHandler(BufferedDoCtrl *obj, BfdDoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedDoTransStopped, (DaqEventProc)proc, userParam); }
  2727. BDAQINL void BufferedDoCtrl_addStoppedHandler(BufferedDoCtrl *obj, BfdDoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtBufferedDoStopped, (DaqEventProc)proc, userParam); }
  2728. BDAQINL void BufferedDoCtrl_removeStoppedHandler(BufferedDoCtrl *obj, BfdDoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtBufferedDoStopped, (DaqEventProc)proc, userParam); }
  2729. /*************************************************************/
  2730. /*ctrl class : Counter related */
  2731. /* ----------------------------------------------------------*/
  2732. /*Counter Indexer*/
  2733. /* ----------------------------------------------------------*/
  2734. BDAQINL void CounterIndexer_Dispose(ICounterIndexer *obj) { DAQFN_VV(DNLAPI_CNTR, 0)(obj); }
  2735. BDAQINL int32 CounterIndexer_getLength(ICounterIndexer *obj) { return DAQFN_TV(DNLAPI_CNTR, 1, int32)(obj); }
  2736. BDAQINL IArray * CounterIndexer_getItem(ICounterIndexer *obj, int32 channel) { return DAQFN_TT(DNLAPI_CNTR, 2, IArray *, int32)(obj, channel); }
  2737. /* ----------------------------------------------------------*/
  2738. /*Counter features */
  2739. /* ----------------------------------------------------------*/
  2740. /*Channel features*/
  2741. BDAQINL int32 CntrFeatures_getChannelCountMax(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 3, int32)(obj); }
  2742. BDAQINL int32 CntrFeatures_getResolution(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 4, int32)(obj); }
  2743. BDAQINL int32 CntrFeatures_getDataSize(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 5, int32)(obj); }
  2744. BDAQINL ICounterIndexer * CntrFeatures_getCapabilities(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 6, ICounterIndexer *)(obj); }
  2745. /*noise filter features*/
  2746. BDAQINL int8 CntrFeatures_getNoiseFilterSupported(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 7, int8)(obj); }
  2747. BDAQINL IArray * CntrFeatures_getNoiseFilterOfChannels(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 8, IArray *)(obj); }
  2748. BDAQINL void CntrFeatures_getNoiseFilterBlockTimeRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 9, MathInterval *)(obj, x); }
  2749. /*new: measurement timeout range*/
  2750. BDAQINL void CntrFeatures_getMeasurementTimeoutRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 129, MathInterval *)(obj, x); }
  2751. /*event counting features*/
  2752. BDAQINL ICounterIndexer * CntrFeatures_getEcClockSources(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 193, ICounterIndexer *)(obj);}
  2753. BDAQINL IArray * CntrFeatures_getEcClockPolarities(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 10, IArray *)(obj); }
  2754. BDAQINL IArray * CntrFeatures_getEcGatePolarities(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 11, IArray *)(obj); }
  2755. BDAQINL IArray * CntrFeatures_getEcGateControlOfChannels(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 12, IArray *)(obj); }
  2756. /*frequency measurement features*/
  2757. BDAQINL IArray * CntrFeatures_getFmMethods(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 13, IArray *)(obj); }
  2758. /*one-shot features*/
  2759. BDAQINL ICounterIndexer * CntrFeatures_getOsClockSources(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 14, ICounterIndexer *)(obj);}
  2760. BDAQINL IArray * CntrFeatures_getOsClockPolarities(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 15, IArray *)(obj); }
  2761. BDAQINL ICounterIndexer * CntrFeatures_getOsGateSources(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 16, ICounterIndexer *)(obj);}
  2762. BDAQINL IArray * CntrFeatures_getOsGatePolarities(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 17, IArray *)(obj); }
  2763. BDAQINL IArray * CntrFeatures_getOsOutSignals(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 18, IArray *)(obj); }
  2764. BDAQINL void CntrFeatures_getOsDelayCountRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 19, MathInterval *)(obj, x); }
  2765. /*timer/pulse features */
  2766. BDAQINL IArray * CntrFeatures_getTmrGateControlOfChannels(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 20, IArray *)(obj); }
  2767. BDAQINL IArray * CntrFeatures_getTmrGatePolarities(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 21, IArray *)(obj); }
  2768. BDAQINL IArray * CntrFeatures_getTmrOutSignals(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 22, IArray *)(obj); }
  2769. BDAQINL void CntrFeatures_getTmrFrequencyRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 23, MathInterval *)(obj, x); }
  2770. /*pulse width measurement features*/
  2771. BDAQINL IArray * CntrFeatures_getPiCascadeGroup(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 24, IArray *)(obj); }
  2772. /*pulse width modulation features*/
  2773. BDAQINL IArray * CntrFeatures_getPoGateControlOfChannels(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 25, IArray *)(obj); }
  2774. BDAQINL IArray * CntrFeatures_getPoGatePolarities(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 26, IArray *)(obj); }
  2775. BDAQINL IArray * CntrFeatures_getPoOutSignals(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 27, IArray *)(obj); }
  2776. BDAQINL void CntrFeatures_getPoHiPeriodRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 28, MathInterval *)(obj, x); }
  2777. BDAQINL void CntrFeatures_getPoLoPeriodRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 29, MathInterval *)(obj, x); }
  2778. BDAQINL void CntrFeatures_getPoOutCountRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 30, MathInterval *)(obj, x); }
  2779. /* new trigger features for pulse width modulation*/
  2780. BDAQINL int32 CntrFeatures_getPoTriggerCount(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 212, int32)(obj); }
  2781. BDAQINL ICounterIndexer * CntrFeatures_getPoTriggerSources(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 213, ICounterIndexer *)(obj);}
  2782. BDAQINL IArray * CntrFeatures_getPoTriggerActions(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 214, IArray *)(obj); }
  2783. BDAQINL void CntrFeatures_getPoTriggerDelayRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 215, MathInterval *)(obj, x);}
  2784. /*up-down counter features */
  2785. BDAQINL IArray * CntrFeatures_getUdCountingTypes(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 31, IArray *)(obj); }
  2786. BDAQINL IArray * CntrFeatures_getUdInitialValues(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 32, IArray *)(obj); }
  2787. BDAQINL IArray * CntrFeatures_getUdSnapEventSources(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 33, IArray *)(obj); }
  2788. BDAQINL void CntrFeatures_getUdValueResetTimes(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 192, MathInterval *)(obj, x); }
  2789. // new features for Counter continue comparing: outputting pulse settings
  2790. BDAQINL IArray * CntrFeatures_getCcpGateControlOfChannels(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 196, IArray *)(obj); }
  2791. BDAQINL IArray * CntrFeatures_getCcpGatePolarities(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 197, IArray *)(obj); }
  2792. BDAQINL IArray * CntrFeatures_getCcpOutSignals(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 198, IArray *)(obj); }
  2793. BDAQINL void CntrFeatures_getCcpHiPeriodRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 199, MathInterval *)(obj, x); }
  2794. BDAQINL void CntrFeatures_getCcpLoPeriodRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 200, MathInterval *)(obj, x); }
  2795. BDAQINL void CntrFeatures_getCcpOutCountRange(CntrFeatures *obj, MathInterval *x) { DAQFN_VT(DNLAPI_CNTR, 201, MathInterval *)(obj, x); }
  2796. BDAQINL int8 CntrFeatures_getCcpDataCtrlCodeSupported(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 262, int8)(obj); }
  2797. /*buffered counter*/
  2798. BDAQINL int32 CntrFeatures_getTriggerCount(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 132, int32)(obj); }
  2799. BDAQINL IArray * CntrFeatures_getTriggerSources(CntrFeatures *obj) { return DAQFN_TT(DNLAPI_CNTR, 133, IArray *, int32)(obj, 0); }
  2800. BDAQINL IArray * CntrFeatures_getTriggerActions(CntrFeatures *obj) { return DAQFN_TT(DNLAPI_CNTR, 134, IArray *, int32)(obj, 0); }
  2801. BDAQINL ICounterIndexer * CntrFeatures_getEcSampleClockSources(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 135, ICounterIndexer *)(obj); }
  2802. BDAQINL ICounterIndexer * CntrFeatures_getPiSampleClockSources(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 136, ICounterIndexer *)(obj); }
  2803. BDAQINL ICounterIndexer * CntrFeatures_getPoSampleClockSources(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 137, ICounterIndexer *)(obj); }
  2804. BDAQINL ICounterIndexer * CntrFeatures_getUdSampleClockSources(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 138, ICounterIndexer *)(obj); }
  2805. /*absolute counter*/
  2806. BDAQINL IArray * CntrFeatures_getAbsCodingTypes(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 228, IArray *)(obj); }
  2807. BDAQINL IArray * CntrFeatures_getAbsBaudrates(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 229, IArray *)(obj); }
  2808. BDAQINL IArray * CntrFeatures_getAbsErrorRetTypes(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 230, IArray *)(obj); }
  2809. BDAQINL IArray * CntrFeatures_getAbsOutSignals(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 231, IArray *)(obj); }
  2810. BDAQINL IArray * CntrFeatures_getAbsLatchSignalEdges(CntrFeatures *obj) { return DAQFN_TV(DNLAPI_CNTR, 232, IArray *)(obj); }
  2811. /* ----------------------------------------------------------*/
  2812. /*EcChannel */
  2813. /* ----------------------------------------------------------*/
  2814. BDAQINL int32 EcChannel_getChannel(EcChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 45, int32)(obj); }
  2815. BDAQINL int8 EcChannel_getNoiseFiltered(EcChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 46, int8)(obj); }
  2816. BDAQINL ErrorCode EcChannel_setNoiseFiltered(EcChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 47, int8)(obj, value); }
  2817. BDAQINL SignalDrop EcChannel_getClockSource(EcChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 194, SignalDrop)(obj); }
  2818. BDAQINL ErrorCode EcChannel_setClockSource(EcChannel *obj, SignalDrop value) { return DAQFN_ET(DNLAPI_CNTR, 195, SignalDrop)(obj, value); }
  2819. BDAQINL SignalPolarity EcChannel_getClockPolarity(EcChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 48, SignalPolarity)(obj); }
  2820. BDAQINL ErrorCode EcChannel_setClockPolarity(EcChannel *obj, SignalPolarity value) { return DAQFN_ET(DNLAPI_CNTR, 49, SignalPolarity)(obj, value); }
  2821. BDAQINL SignalPolarity EcChannel_getGatePolarity(EcChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 50, SignalPolarity)(obj); }
  2822. BDAQINL ErrorCode EcChannel_setGatePolarity(EcChannel *obj, SignalPolarity value) { return DAQFN_ET(DNLAPI_CNTR, 51, SignalPolarity)(obj, value); }
  2823. BDAQINL int8 EcChannel_getGated(EcChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 52, int8)(obj); }
  2824. BDAQINL ErrorCode EcChannel_setGated(EcChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 53, int8)(obj, value); }
  2825. /* ----------------------------------------------------------*/
  2826. /*EventCounterCtrl */
  2827. /* ----------------------------------------------------------*/
  2828. /*base1*/
  2829. BDAQINL ErrorCode EventCounterCtrl_LoadProfile(EventCounterCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2830. BDAQINL void EventCounterCtrl_Cleanup(EventCounterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2831. BDAQINL void EventCounterCtrl_Dispose(EventCounterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2832. BDAQINL void EventCounterCtrl_getSelectedDevice(EventCounterCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2833. BDAQINL ErrorCode EventCounterCtrl_setSelectedDevice(EventCounterCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2834. BDAQINL ControlState EventCounterCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  2835. BDAQINL DeviceCtrl * EventCounterCtrl_getDevice(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  2836. BDAQINL IArray * EventCounterCtrl_getSupportedDevices(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2837. BDAQINL IArray * EventCounterCtrl_getSupportedModes(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2838. /*base2*/
  2839. BDAQINL CntrFeatures * EventCounterCtrl_getFeatures(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  2840. BDAQINL int32 EventCounterCtrl_getChannelStart(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  2841. BDAQINL ErrorCode EventCounterCtrl_setChannelStart(EventCounterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  2842. BDAQINL int32 EventCounterCtrl_getChannelCount(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  2843. BDAQINL ErrorCode EventCounterCtrl_setChannelCount(EventCounterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  2844. BDAQINL int8 EventCounterCtrl_getEnabled(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  2845. BDAQINL ErrorCode EventCounterCtrl_setEnabled(EventCounterCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  2846. BDAQINL int8 EventCounterCtrl_getRunning(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  2847. BDAQINL double EventCounterCtrl_getNoiseFilterBlockTime(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  2848. BDAQINL ErrorCode EventCounterCtrl_setNoiseFilterBlockTime(EventCounterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  2849. BDAQINL NosFltChannel * EventCounterCtrl_getNoiseFilter(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  2850. BDAQINL double EventCounterCtrl_getMeasurementTimeout(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 130, double)(obj); }
  2851. BDAQINL ErrorCode EventCounterCtrl_setMeasurementTimeout(EventCounterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 131, double)(obj, value); }
  2852. /* Event counter methods */
  2853. BDAQINL ErrorCode EventCounterCtrl_Read(EventCounterCtrl *obj, int32 count, int32 *buffer) { return DAQFN_ETT(DNLAPI_CNTR, 54, int32, int32 *)(obj, count, buffer); }
  2854. BDAQINL IArray * EventCounterCtrl_getChannels(EventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 55, IArray *)(obj); }
  2855. /*creator*/
  2856. BDAQINL EventCounterCtrl* EventCounterCtrl_Create(void) { return (EventCounterCtrl *)DaqCtrlBase_Create(SceEventCounter); }
  2857. /*BufferedEventCounterCtrl */
  2858. /* ----------------------------------------------------------*/
  2859. /*base1*/
  2860. BDAQINL ErrorCode BufferedEventCounterCtrl_LoadProfile(BufferedEventCounterCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2861. BDAQINL void BufferedEventCounterCtrl_Cleanup(BufferedEventCounterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2862. BDAQINL void BufferedEventCounterCtrl_Dispose(BufferedEventCounterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2863. BDAQINL void BufferedEventCounterCtrl_getSelectedDevice(BufferedEventCounterCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2864. BDAQINL ErrorCode BufferedEventCounterCtrl_setSelectedDevice(BufferedEventCounterCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2865. BDAQINL ControlState BufferedEventCounterCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  2866. BDAQINL DeviceCtrl * BufferedEventCounterCtrl_getDevice(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  2867. BDAQINL IArray * BufferedEventCounterCtrl_getSupportedDevices(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2868. BDAQINL IArray * BufferedEventCounterCtrl_getSupportedModes(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2869. /*base2*/
  2870. BDAQINL CntrFeatures * BufferedEventCounterCtrl_getFeatures(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  2871. BDAQINL int32 BufferedEventCounterCtrl_getChannelStart(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  2872. BDAQINL ErrorCode BufferedEventCounterCtrl_setChannelStart(BufferedEventCounterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  2873. BDAQINL int32 BufferedEventCounterCtrl_getChannelCount(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  2874. BDAQINL ErrorCode BufferedEventCounterCtrl_setChannelCount(BufferedEventCounterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  2875. BDAQINL int8 BufferedEventCounterCtrl_getEnabled(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  2876. BDAQINL ErrorCode BufferedEventCounterCtrl_setEnabled(BufferedEventCounterCtrl *obj, int8 enable) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enable); }
  2877. BDAQINL int8 BufferedEventCounterCtrl_getRunning(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  2878. BDAQINL double BufferedEventCounterCtrl_getNoiseFilterBlockTime(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  2879. BDAQINL ErrorCode BufferedEventCounterCtrl_setNoiseFilterBlockTime(BufferedEventCounterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  2880. BDAQINL NosFltChannel * BufferedEventCounterCtrl_getNoiseFilter(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  2881. BDAQINL double BufferedEventCounterCtrl_getMeasurementTimeout(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 130, double)(obj); }
  2882. BDAQINL ErrorCode BufferedEventCounterCtrl_setMeasurementTimeout(BufferedEventCounterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 131, double)(obj, value); }
  2883. /* Buffered Event counter methods & properties */
  2884. BDAQINL int32 BufferedEventCounterCtrl_getBufferCapacity(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 183, int32)(obj); }
  2885. BDAQINL int8 BufferedEventCounterCtrl_getBufferStatus(BufferedEventCounterCtrl *obj, int32 ch, int32 *count, int32 *offset) { return DAQFN_TTTT(DNLAPI_CNTR, 188, int8, int32, int32 *, int32 *)(obj, ch, count, offset); }
  2886. BDAQINL Trigger* BufferedEventCounterCtrl_getTrigger(BufferedEventCounterCtrl *obj) { return DAQFN_TT(DNLAPI_CNTR, 141, Trigger *, int32)(obj, 0); }
  2887. BDAQINL Record* BufferedEventCounterCtrl_getRecord(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 142, Record *)(obj); }
  2888. BDAQINL ErrorCode BufferedEventCounterCtrl_setSampleClkSrc(BufferedEventCounterCtrl *obj, SignalDrop drop) { return DAQFN_ET(DNLAPI_CNTR, 143, SignalDrop)(obj, drop); }
  2889. BDAQINL SignalDrop BufferedEventCounterCtrl_getSampleClkSrc(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 144, SignalDrop)(obj); }
  2890. BDAQINL void BufferedEventCounterCtrl_getChannelMap(BufferedEventCounterCtrl *obj, int32 count, int8 *chMap) { DAQFN_VTT(DNLAPI_CNTR, 139, int32, int8 *)(obj, count, chMap); }
  2891. BDAQINL ErrorCode BufferedEventCounterCtrl_setChannelMap(BufferedEventCounterCtrl *obj, int32 count, int8 *chMap) { return DAQFN_ETT(DNLAPI_CNTR, 140, int32, int8 *)(obj, count, chMap); }
  2892. BDAQINL ErrorCode BufferedEventCounterCtrl_Prepare(BufferedEventCounterCtrl *obj) { return DAQFN_EV(DNLAPI_CNTR, 146)(obj); }
  2893. BDAQINL void BufferedEventCounterCtrl_Release(BufferedEventCounterCtrl *obj) { DAQFN_VV(DNLAPI_CNTR, 147)(obj); }
  2894. BDAQINL IArray * BufferedEventCounterCtrl_getChannels(BufferedEventCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 145, IArray *)(obj); }
  2895. BDAQINL ErrorCode BufferedEventCounterCtrl_GetDataI32(BufferedEventCounterCtrl *obj, int32 cntr, int32 count, int32 dataBuf[], int32 timeout, int32 *returned, double *startTime)
  2896. {
  2897. typedef ErrorCode (BDAQCALL *FNGETDATA)(void *, int32, int32, void*, int32, int32*, double*);
  2898. return ((FNGETDATA)DNLAPI_CNTR[148])(obj, cntr, count, dataBuf, timeout, returned, startTime);
  2899. }
  2900. /*creator*/
  2901. BDAQINL BufferedEventCounterCtrl* BufferedEventCounterCtrl_Create(void) { return (BufferedEventCounterCtrl *)DaqCtrlBase_Create(SceBufferedEventCounter); }
  2902. /*Helpers*/
  2903. BDAQINL void BufferedEventCounterCtrl_addDataReadyHandler(BufferedEventCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  2904. BDAQINL void BufferedEventCounterCtrl_removeDataReadyHandler(BufferedEventCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  2905. BDAQINL void BufferedEventCounterCtrl_addOverrunHandler(BufferedEventCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  2906. BDAQINL void BufferedEventCounterCtrl_removeOverrunHandler(BufferedEventCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  2907. BDAQINL void BufferedEventCounterCtrl_addCacheOverflowHandler(BufferedEventCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  2908. BDAQINL void BufferedEventCounterCtrl_removeCacheOverflowHandler(BufferedEventCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  2909. BDAQINL void BufferedEventCounterCtrl_addStoppedHandler(BufferedEventCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  2910. BDAQINL void BufferedEventCounterCtrl_removeStoppedHandler(BufferedEventCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  2911. /* ----------------------------------------------------------*/
  2912. /* ----------------------------------------------------------*/
  2913. /*FmChannel */
  2914. /* ----------------------------------------------------------*/
  2915. BDAQINL int32 FmChannel_getChannel(FmChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 56, int32)(obj); }
  2916. BDAQINL int8 FmChannel_getNoiseFiltered(FmChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 57, int8)(obj); }
  2917. BDAQINL ErrorCode FmChannel_setNoiseFiltered(FmChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 58, int8)(obj, value); }
  2918. BDAQINL FreqMeasureMethod FmChannel_getFmMethod(FmChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 59, FreqMeasureMethod)(obj); }
  2919. BDAQINL ErrorCode FmChannel_setFmMethod(FmChannel *obj, FreqMeasureMethod value) { return DAQFN_ET(DNLAPI_CNTR, 60, FreqMeasureMethod)(obj, value);}
  2920. BDAQINL double FmChannel_getCollectionPeriod(FmChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 61, double)(obj); }
  2921. BDAQINL ErrorCode FmChannel_setCollectionPeriod(FmChannel *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 62, double)(obj, value); }
  2922. BDAQINL double FmChannel_getTimeup(FmChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 226,double)(obj); }
  2923. BDAQINL ErrorCode FmChannel_setTimeup(FmChannel *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 227,double)(obj, value); }
  2924. /* ----------------------------------------------------------*/
  2925. /*FreqMeterCtrl */
  2926. /* ----------------------------------------------------------*/
  2927. /*base1*/
  2928. BDAQINL ErrorCode FreqMeterCtrl_LoadProfile(FreqMeterCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2929. BDAQINL void FreqMeterCtrl_Cleanup(FreqMeterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2930. BDAQINL void FreqMeterCtrl_Dispose(FreqMeterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2931. BDAQINL void FreqMeterCtrl_getSelectedDevice(FreqMeterCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2932. BDAQINL ErrorCode FreqMeterCtrl_setSelectedDevice(FreqMeterCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2933. BDAQINL ControlState FreqMeterCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  2934. BDAQINL DeviceCtrl * FreqMeterCtrl_getDevice(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  2935. BDAQINL IArray * FreqMeterCtrl_getSupportedDevices(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2936. BDAQINL IArray * FreqMeterCtrl_getSupportedModes(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2937. /*base2*/
  2938. BDAQINL CntrFeatures * FreqMeterCtrl_getFeatures(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  2939. BDAQINL int32 FreqMeterCtrl_getChannelStart(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  2940. BDAQINL ErrorCode FreqMeterCtrl_setChannelStart(FreqMeterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  2941. BDAQINL int32 FreqMeterCtrl_getChannelCount(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  2942. BDAQINL ErrorCode FreqMeterCtrl_setChannelCount(FreqMeterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  2943. BDAQINL int8 FreqMeterCtrl_getEnabled(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  2944. BDAQINL ErrorCode FreqMeterCtrl_setEnabled(FreqMeterCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  2945. BDAQINL int8 FreqMeterCtrl_getRunning(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  2946. BDAQINL double FreqMeterCtrl_getNoiseFilterBlockTime(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  2947. BDAQINL ErrorCode FreqMeterCtrl_setNoiseFilterBlockTime(FreqMeterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  2948. BDAQINL NosFltChannel * FreqMeterCtrl_getNoiseFilter(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  2949. BDAQINL double FreqMeterCtrl_getMeasurementTimeout(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 130, double)(obj); }
  2950. BDAQINL ErrorCode FreqMeterCtrl_setMeasurementTimeout(FreqMeterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 131, double)(obj, value); }
  2951. /* Frequency meter methods */
  2952. BDAQINL ErrorCode FreqMeterCtrl_Read(FreqMeterCtrl *obj, int32 count, double *buffer) { return DAQFN_ETT(DNLAPI_CNTR, 63, int32, double *)(obj, count, buffer); }
  2953. BDAQINL IArray * FreqMeterCtrl_getChannels(FreqMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 64, IArray *)(obj); }
  2954. /*creator*/
  2955. BDAQINL FreqMeterCtrl* FreqMeterCtrl_Create(void) { return (FreqMeterCtrl *)DaqCtrlBase_Create(SceFreqMeter); }
  2956. /* ----------------------------------------------------------*/
  2957. /*OsChannel */
  2958. /* ----------------------------------------------------------*/
  2959. BDAQINL int32 OsChannel_getChannel(OsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 65, int32)(obj); }
  2960. BDAQINL int8 OsChannel_getNoiseFiltered(OsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 66, int8)(obj); }
  2961. BDAQINL ErrorCode OsChannel_setNoiseFiltered(OsChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 67, int8)(obj, value); }
  2962. BDAQINL int32 OsChannel_getDelayCount(OsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 68, int32)(obj); }
  2963. BDAQINL ErrorCode OsChannel_setDelayCount(OsChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 69, int32)(obj, value); }
  2964. BDAQINL SignalDrop OsChannel_getClockSource(OsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 70, SignalDrop)(obj); }
  2965. BDAQINL ErrorCode OsChannel_setClockSource(OsChannel *obj, SignalDrop value) { return DAQFN_ET(DNLAPI_CNTR, 71, SignalDrop)(obj, value); }
  2966. BDAQINL SignalPolarity OsChannel_getClockPolarity(OsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 72, SignalPolarity)(obj); }
  2967. BDAQINL ErrorCode OsChannel_setClockPolarity(OsChannel *obj, SignalPolarity value) { return DAQFN_ET(DNLAPI_CNTR, 73, SignalPolarity)(obj, value); }
  2968. BDAQINL SignalDrop OsChannel_getGateSource(OsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 74, SignalDrop)(obj); }
  2969. BDAQINL ErrorCode OsChannel_setGateSource(OsChannel *obj, SignalDrop value) { return DAQFN_ET(DNLAPI_CNTR, 75, SignalDrop)(obj, value); }
  2970. BDAQINL SignalPolarity OsChannel_getGatePolarity(OsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 76, SignalPolarity)(obj); }
  2971. BDAQINL ErrorCode OsChannel_setGatePolarity(OsChannel *obj, SignalPolarity value) { return DAQFN_ET(DNLAPI_CNTR, 77, SignalPolarity)(obj, value); }
  2972. BDAQINL OutSignalType OsChannel_getOutSignal(OsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 78, OutSignalType)(obj); }
  2973. BDAQINL ErrorCode OsChannel_setOutSignal(OsChannel *obj, OutSignalType value) { return DAQFN_ET(DNLAPI_CNTR, 79, OutSignalType)(obj, value); }
  2974. /* ----------------------------------------------------------*/
  2975. /*OneShotCtrl */
  2976. /* ----------------------------------------------------------*/
  2977. /*base1*/
  2978. BDAQINL ErrorCode OneShotCtrl_LoadProfile(OneShotCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  2979. BDAQINL void OneShotCtrl_Cleanup(OneShotCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  2980. BDAQINL void OneShotCtrl_Dispose(OneShotCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  2981. BDAQINL void OneShotCtrl_getSelectedDevice(OneShotCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  2982. BDAQINL ErrorCode OneShotCtrl_setSelectedDevice(OneShotCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  2983. BDAQINL ControlState OneShotCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  2984. BDAQINL DeviceCtrl * OneShotCtrl_getDevice(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  2985. BDAQINL IArray * OneShotCtrl_getSupportedDevices(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  2986. BDAQINL IArray * OneShotCtrl_getSupportedModes(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  2987. /*base2*/
  2988. BDAQINL CntrFeatures * OneShotCtrl_getFeatures(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  2989. BDAQINL int32 OneShotCtrl_getChannelStart(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  2990. BDAQINL ErrorCode OneShotCtrl_setChannelStart(OneShotCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  2991. BDAQINL int32 OneShotCtrl_getChannelCount(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  2992. BDAQINL ErrorCode OneShotCtrl_setChannelCount(OneShotCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  2993. BDAQINL int8 OneShotCtrl_getEnabled(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  2994. BDAQINL ErrorCode OneShotCtrl_setEnabled(OneShotCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  2995. BDAQINL int8 OneShotCtrl_getRunning(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  2996. BDAQINL double OneShotCtrl_getNoiseFilterBlockTime(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  2997. BDAQINL ErrorCode OneShotCtrl_setNoiseFilterBlockTime(OneShotCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  2998. BDAQINL NosFltChannel * OneShotCtrl_getNoiseFilter(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  2999. /* one shot methods */
  3000. BDAQINL IArray * OneShotCtrl_getChannels(OneShotCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 80, IArray *)(obj); }
  3001. /*creator*/
  3002. BDAQINL OneShotCtrl* OneShotCtrl_Create(void) { return (OneShotCtrl *)DaqCtrlBase_Create(SceOneShot); }
  3003. /*Helpers*/
  3004. BDAQINL void OneShotCtrl_addOneShotHandler(OneShotCtrl *obj, CntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCntOneShot0, (DaqEventProc)proc, userParam);}
  3005. BDAQINL void OneShotCtrl_removeOneShotHandler(OneShotCtrl *obj, CntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCntOneShot0, (DaqEventProc)proc, userParam);}
  3006. /* ----------------------------------------------------------*/
  3007. /*TmrChannel */
  3008. /* ----------------------------------------------------------*/
  3009. BDAQINL int32 TmrChannel_getChannel(TmrChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 81, int32)(obj); }
  3010. BDAQINL int8 TmrChannel_getNoiseFiltered(TmrChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 82, int8)(obj); }
  3011. BDAQINL ErrorCode TmrChannel_setNoiseFiltered(TmrChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 83, int8)(obj, value); }
  3012. BDAQINL double TmrChannel_getFrequency(TmrChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 84, double)(obj); }
  3013. BDAQINL ErrorCode TmrChannel_setFrequency(TmrChannel *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 85, double)(obj, value); }
  3014. BDAQINL int8 TmrChannel_getGated(TmrChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 86, int8)(obj); }
  3015. BDAQINL ErrorCode TmrChannel_setGated(TmrChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 87, int8)(obj, value); }
  3016. BDAQINL SignalPolarity TmrChannel_getGatePolarity(TmrChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 88, SignalPolarity)(obj); }
  3017. BDAQINL ErrorCode TmrChannel_setGatePolarity(TmrChannel *obj, SignalPolarity value) { return DAQFN_ET(DNLAPI_CNTR, 89, SignalPolarity)(obj, value); }
  3018. BDAQINL OutSignalType TmrChannel_getOutSignal(TmrChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 90, OutSignalType)(obj); }
  3019. BDAQINL ErrorCode TmrChannel_setOutSignal(TmrChannel *obj, OutSignalType value) { return DAQFN_ET(DNLAPI_CNTR, 91, OutSignalType)(obj, value); }
  3020. /* ----------------------------------------------------------*/
  3021. /*TimerPulseCtrl */
  3022. /* ----------------------------------------------------------*/
  3023. /*base1*/
  3024. BDAQINL ErrorCode TimerPulseCtrl_LoadProfile(TimerPulseCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3025. BDAQINL void TimerPulseCtrl_Cleanup(TimerPulseCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3026. BDAQINL void TimerPulseCtrl_Dispose(TimerPulseCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3027. BDAQINL void TimerPulseCtrl_getSelectedDevice(TimerPulseCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3028. BDAQINL ErrorCode TimerPulseCtrl_setSelectedDevice(TimerPulseCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3029. BDAQINL ControlState TimerPulseCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3030. BDAQINL DeviceCtrl * TimerPulseCtrl_getDevice(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3031. BDAQINL IArray * TimerPulseCtrl_getSupportedDevices(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3032. BDAQINL IArray * TimerPulseCtrl_getSupportedModes(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3033. /*base2*/
  3034. BDAQINL CntrFeatures * TimerPulseCtrl_getFeatures(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  3035. BDAQINL int32 TimerPulseCtrl_getChannelStart(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  3036. BDAQINL ErrorCode TimerPulseCtrl_setChannelStart(TimerPulseCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  3037. BDAQINL int32 TimerPulseCtrl_getChannelCount(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  3038. BDAQINL ErrorCode TimerPulseCtrl_setChannelCount(TimerPulseCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  3039. BDAQINL int8 TimerPulseCtrl_getEnabled(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  3040. BDAQINL ErrorCode TimerPulseCtrl_setEnabled(TimerPulseCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  3041. BDAQINL int8 TimerPulseCtrl_getRunning(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  3042. BDAQINL double TimerPulseCtrl_getNoiseFilterBlockTime(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  3043. BDAQINL ErrorCode TimerPulseCtrl_setNoiseFilterBlockTime(TimerPulseCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  3044. BDAQINL NosFltChannel * TimerPulseCtrl_getNoiseFilter(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  3045. /* Timer/Pulse methods */
  3046. BDAQINL IArray * TimerPulseCtrl_getChannels(TimerPulseCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 92, IArray *)(obj); }
  3047. /*creator*/
  3048. BDAQINL TimerPulseCtrl* TimerPulseCtrl_Create(void) { return (TimerPulseCtrl *)DaqCtrlBase_Create(SceTimerPulse); }
  3049. /*Helper*/
  3050. BDAQINL void TimerPulseCtrl_addTimerTickHandler(TimerPulseCtrl *obj, CntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCntTimer0, (DaqEventProc)proc, userParam); }
  3051. BDAQINL void TimerPulseCtrl_removeTimerTickHandler(TimerPulseCtrl *obj, CntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCntTimer0, (DaqEventProc)proc, userParam); }
  3052. /* ----------------------------------------------------------*/
  3053. /*PiChannel */
  3054. /* ----------------------------------------------------------*/
  3055. BDAQINL int32 PiChannel_getChannel(PiChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 93, int32)(obj); }
  3056. BDAQINL int8 PiChannel_getNoiseFiltered(PiChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 94, int8)(obj); }
  3057. BDAQINL ErrorCode PiChannel_setNoiseFiltered(PiChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 95, int8)(obj, value); }
  3058. BDAQINL double PiChannel_getTimeup(PiChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 260,double)(obj); }
  3059. BDAQINL ErrorCode PiChannel_setTimeup(PiChannel *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 261,double)(obj, value);}
  3060. /* ----------------------------------------------------------*/
  3061. /*PwMeterCtrl */
  3062. /* ----------------------------------------------------------*/
  3063. /*base1*/
  3064. BDAQINL ErrorCode PwMeterCtrl_LoadProfile(PwMeterCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3065. BDAQINL void PwMeterCtrl_Cleanup(PwMeterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3066. BDAQINL void PwMeterCtrl_Dispose(PwMeterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3067. BDAQINL void PwMeterCtrl_getSelectedDevice(PwMeterCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3068. BDAQINL ErrorCode PwMeterCtrl_setSelectedDevice(PwMeterCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3069. BDAQINL ControlState PwMeterCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3070. BDAQINL DeviceCtrl * PwMeterCtrl_getDevice(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3071. BDAQINL IArray * PwMeterCtrl_getSupportedDevices(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3072. BDAQINL IArray * PwMeterCtrl_getSupportedModes(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3073. /*base2*/
  3074. BDAQINL CntrFeatures * PwMeterCtrl_getFeatures(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  3075. BDAQINL int32 PwMeterCtrl_getChannelStart(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  3076. BDAQINL ErrorCode PwMeterCtrl_setChannelStart(PwMeterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  3077. BDAQINL int32 PwMeterCtrl_getChannelCount(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  3078. BDAQINL ErrorCode PwMeterCtrl_setChannelCount(PwMeterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  3079. BDAQINL int8 PwMeterCtrl_getEnabled(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  3080. BDAQINL ErrorCode PwMeterCtrl_setEnabled(PwMeterCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  3081. BDAQINL int8 PwMeterCtrl_getRunning(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  3082. BDAQINL double PwMeterCtrl_getNoiseFilterBlockTime(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  3083. BDAQINL ErrorCode PwMeterCtrl_setNoiseFilterBlockTime(PwMeterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  3084. BDAQINL NosFltChannel * PwMeterCtrl_getNoiseFilter(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  3085. BDAQINL double PwMeterCtrl_getMeasurementTimeout(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 130, double)(obj); }
  3086. BDAQINL ErrorCode PwMeterCtrl_setMeasurementTimeout(PwMeterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 131, double)(obj, value); }
  3087. /* PwMeterCtrl Method */
  3088. BDAQINL IArray * PwMeterCtrl_getChannels(PwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 96, IArray *)(obj); }
  3089. BDAQINL ErrorCode PwMeterCtrl_Read(PwMeterCtrl *obj, int32 count, PulseWidth *buffer) { return DAQFN_ETT(DNLAPI_CNTR, 97, int32, PulseWidth *)(obj, count, buffer); }
  3090. /*creator*/
  3091. BDAQINL PwMeterCtrl* PwMeterCtrl_Create(void) { return (PwMeterCtrl *)DaqCtrlBase_Create(ScePwMeter); }
  3092. /*Helpers*/
  3093. BDAQINL void PwMeterCtrl_addOverflowHandler(PwMeterCtrl *obj, CntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCntPwmInOverflow0, (DaqEventProc)proc, userParam);}
  3094. BDAQINL void PwMeterCtrl_removeOverflowHandler(PwMeterCtrl *obj, CntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCntPwmInOverflow0, (DaqEventProc)proc, userParam);}
  3095. /* ----------------------------------------------------------*/
  3096. /*BufferedPwMeterCtrl */
  3097. /* ----------------------------------------------------------*/
  3098. /*base1*/
  3099. BDAQINL ErrorCode BufferedPwMeterCtrl_LoadProfile(BufferedPwMeterCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3100. BDAQINL void BufferedPwMeterCtrl_Cleanup(BufferedPwMeterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3101. BDAQINL void BufferedPwMeterCtrl_Dispose(BufferedPwMeterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3102. BDAQINL void BufferedPwMeterCtrl_getSelectedDevice(BufferedPwMeterCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3103. BDAQINL ErrorCode BufferedPwMeterCtrl_setSelectedDevice(BufferedPwMeterCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3104. BDAQINL ControlState BufferedPwMeterCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3105. BDAQINL DeviceCtrl * BufferedPwMeterCtrl_getDevice(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3106. BDAQINL IArray * BufferedPwMeterCtrl_getSupportedDevices(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3107. BDAQINL IArray * BufferedPwMeterCtrl_getSupportedModes(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3108. /*base2*/
  3109. BDAQINL CntrFeatures * BufferedPwMeterCtrl_getFeatures(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  3110. BDAQINL int32 BufferedPwMeterCtrl_getChannelStart(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  3111. BDAQINL ErrorCode BufferedPwMeterCtrl_setChannelStart(BufferedPwMeterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  3112. BDAQINL int32 BufferedPwMeterCtrl_getChannelCount(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  3113. BDAQINL ErrorCode BufferedPwMeterCtrl_setChannelCount(BufferedPwMeterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  3114. BDAQINL int8 BufferedPwMeterCtrl_getEnabled(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  3115. BDAQINL ErrorCode BufferedPwMeterCtrl_setEnabled(BufferedPwMeterCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  3116. BDAQINL int8 BufferedPwMeterCtrl_getRunning(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  3117. BDAQINL double BufferedPwMeterCtrl_getNoiseFilterBlockTime(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  3118. BDAQINL ErrorCode BufferedPwMeterCtrl_setNoiseFilterBlockTime(BufferedPwMeterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  3119. BDAQINL NosFltChannel * BufferedPwMeterCtrl_getNoiseFilter(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  3120. BDAQINL double BufferedPwMeterCtrl_getMeasurementTimeout(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 130, double)(obj); }
  3121. BDAQINL ErrorCode BufferedPwMeterCtrl_setMeasurementTimeout(BufferedPwMeterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 131, double)(obj, value); }
  3122. /* Buffered PwMeterCtrl Method */
  3123. BDAQINL int32 BufferedPwMeterCtrl_getBufferCapacity(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 184, int32)(obj); }
  3124. BDAQINL int8 BufferedPwMeterCtrl_getBufferStatus(BufferedPwMeterCtrl *obj, int32 ch, int32 *count, int32 *offset) { return DAQFN_TTTT(DNLAPI_CNTR, 189, int8, int32, int32 *, int32 *)(obj, ch, count, offset); }
  3125. BDAQINL Trigger* BufferedPwMeterCtrl_getTrigger(BufferedPwMeterCtrl *obj) { return DAQFN_TT(DNLAPI_CNTR, 151, Trigger *, int32)(obj, 0); }
  3126. BDAQINL Record* BufferedPwMeterCtrl_getRecord(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 152, Record *)(obj); }
  3127. BDAQINL ErrorCode BufferedPwMeterCtrl_setSampleClkSrc(BufferedPwMeterCtrl *obj, SignalDrop drop) { return DAQFN_ET(DNLAPI_CNTR, 153, SignalDrop)(obj, drop); }
  3128. BDAQINL SignalDrop BufferedPwMeterCtrl_getSampleClkSrc(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 154, SignalDrop)(obj); }
  3129. BDAQINL void BufferedPwMeterCtrl_getChannelMap(BufferedPwMeterCtrl *obj, int32 count, int8 *chMap) { DAQFN_VTT(DNLAPI_CNTR, 149, int32, int8 *)(obj, count, chMap); }
  3130. BDAQINL ErrorCode BufferedPwMeterCtrl_setChannelMap(BufferedPwMeterCtrl *obj, int32 count, int8 *chMap) { return DAQFN_ETT(DNLAPI_CNTR, 150, int32, int8 *)(obj, count, chMap); }
  3131. BDAQINL ErrorCode BufferedPwMeterCtrl_Prepare(BufferedPwMeterCtrl *obj) { return DAQFN_EV(DNLAPI_CNTR, 156)(obj); }
  3132. BDAQINL void BufferedPwMeterCtrl_Release(BufferedPwMeterCtrl *obj) { DAQFN_VV(DNLAPI_CNTR, 157)(obj); }
  3133. BDAQINL IArray * BufferedPwMeterCtrl_getChannels(BufferedPwMeterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 155, IArray *)(obj); }
  3134. BDAQINL ErrorCode BufferedPwMeterCtrl_GetData(BufferedPwMeterCtrl *obj, int32 cntr, int32 count, PulseWidth *buffer, int32 timeout, int32 *returned, double *startTime)
  3135. {
  3136. typedef ErrorCode (BDAQCALL *FNGETDATA)(void *, int32, int32, void*, int32, int32*, double*);
  3137. return ((FNGETDATA)DNLAPI_CNTR[158])(obj, cntr, count, buffer, timeout, returned, startTime);
  3138. }
  3139. /*creator*/
  3140. BDAQINL BufferedPwMeterCtrl* BufferedPwMeterCtrl_Create(void) { return (BufferedPwMeterCtrl *)DaqCtrlBase_Create(SceBufferedPwMeter); }
  3141. /*Helpers*/
  3142. BDAQINL void BufferedPwMeterCtrl_addDataReadyHandler(BufferedPwMeterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  3143. BDAQINL void BufferedPwMeterCtrl_removeDataReadyHandler(BufferedPwMeterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  3144. BDAQINL void BufferedPwMeterCtrl_addOverrunHandler(BufferedPwMeterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  3145. BDAQINL void BufferedPwMeterCtrl_removeOverrunHandler(BufferedPwMeterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  3146. BDAQINL void BufferedPwMeterCtrl_addCacheOverflowHandler(BufferedPwMeterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  3147. BDAQINL void BufferedPwMeterCtrl_removeCacheOverflowHandler(BufferedPwMeterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  3148. BDAQINL void BufferedPwMeterCtrl_addStoppedHandler(BufferedPwMeterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  3149. BDAQINL void BufferedPwMeterCtrl_removeStoppedHandler(BufferedPwMeterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  3150. /* ----------------------------------------------------------*/
  3151. /*PoChannel */
  3152. /* ----------------------------------------------------------*/
  3153. BDAQINL int32 PoChannel_getChannel(PoChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 98, int32)(obj); }
  3154. BDAQINL int8 PoChannel_getNoiseFiltered(PoChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 99, int8)(obj); }
  3155. BDAQINL ErrorCode PoChannel_setNoiseFiltered(PoChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 100, int8)(obj, value); }
  3156. BDAQINL void PoChannel_getPulseWidth(PoChannel *obj, PulseWidth *x) { DAQFN_VT(DNLAPI_CNTR, 101, PulseWidth *)(obj, x); }
  3157. BDAQINL ErrorCode PoChannel_setPulseWidth(PoChannel *obj, PulseWidth const *x) { return DAQFN_ET(DNLAPI_CNTR, 102, PulseWidth const*)(obj, x); }
  3158. BDAQINL int8 PoChannel_getGated(PoChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 103, int8)(obj); }
  3159. BDAQINL ErrorCode PoChannel_setGated(PoChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 104, int8)(obj, value); }
  3160. BDAQINL SignalPolarity PoChannel_getGatePolarity(PoChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 105, SignalPolarity)(obj); }
  3161. BDAQINL ErrorCode PoChannel_setGatePolarity(PoChannel *obj, SignalPolarity value) { return DAQFN_ET(DNLAPI_CNTR, 106, SignalPolarity)(obj, value); }
  3162. BDAQINL OutSignalType PoChannel_getOutSignal(PoChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 107, OutSignalType)(obj); }
  3163. BDAQINL ErrorCode PoChannel_setOutSignal(PoChannel *obj, OutSignalType value) { return DAQFN_ET(DNLAPI_CNTR, 108, OutSignalType)(obj, value); }
  3164. BDAQINL int32 PoChannel_getOutCount(PoChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 109, int32)(obj); }
  3165. BDAQINL ErrorCode PoChannel_setOutCount(PoChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 110, int32)(obj, value); }
  3166. BDAQINL SignalDrop PoChannel_getTriggerSource(PoChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 216, SignalDrop)(obj); }
  3167. BDAQINL ErrorCode PoChannel_setTriggerSource(PoChannel *obj, SignalDrop value) { return DAQFN_ET(DNLAPI_CNTR, 217, SignalDrop)(obj, value); }
  3168. BDAQINL ActiveSignal PoChannel_getTriggerEdge(PoChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 218, ActiveSignal)(obj); }
  3169. BDAQINL ErrorCode PoChannel_setTriggerEdge(PoChannel *obj, ActiveSignal value) { return DAQFN_ET(DNLAPI_CNTR, 219, ActiveSignal)(obj, value); }
  3170. BDAQINL TriggerAction PoChannel_getTriggerAction(PoChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 220, TriggerAction)(obj); }
  3171. BDAQINL ErrorCode PoChannel_setTriggerAction(PoChannel *obj, TriggerAction value) { return DAQFN_ET(DNLAPI_CNTR, 221, TriggerAction)(obj, value); }
  3172. BDAQINL double PoChannel_getTriggerDelayCount(PoChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 222, double)(obj); }
  3173. BDAQINL ErrorCode PoChannel_setTriggerDelayCount(PoChannel *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 223, double)(obj, value); }
  3174. /* ----------------------------------------------------------*/
  3175. /*PwModulatorCtrl */
  3176. /* ----------------------------------------------------------*/
  3177. /*base1*/
  3178. BDAQINL ErrorCode PwModulatorCtrl_LoadProfile(PwModulatorCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3179. BDAQINL void PwModulatorCtrl_Cleanup(PwModulatorCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3180. BDAQINL void PwModulatorCtrl_Dispose(PwModulatorCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3181. BDAQINL void PwModulatorCtrl_getSelectedDevice(PwModulatorCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3182. BDAQINL ErrorCode PwModulatorCtrl_setSelectedDevice(PwModulatorCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3183. BDAQINL ControlState PwModulatorCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3184. BDAQINL DeviceCtrl * PwModulatorCtrl_getDevice(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3185. BDAQINL IArray * PwModulatorCtrl_getSupportedDevices(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3186. BDAQINL IArray * PwModulatorCtrl_getSupportedModes(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3187. /*base2*/
  3188. BDAQINL CntrFeatures * PwModulatorCtrl_getFeatures(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  3189. BDAQINL int32 PwModulatorCtrl_getChannelStart(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  3190. BDAQINL ErrorCode PwModulatorCtrl_setChannelStart(PwModulatorCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  3191. BDAQINL int32 PwModulatorCtrl_getChannelCount(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  3192. BDAQINL ErrorCode PwModulatorCtrl_setChannelCount(PwModulatorCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  3193. BDAQINL int8 PwModulatorCtrl_getEnabled(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  3194. BDAQINL ErrorCode PwModulatorCtrl_setEnabled(PwModulatorCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  3195. BDAQINL int8 PwModulatorCtrl_getRunning(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  3196. BDAQINL double PwModulatorCtrl_getNoiseFilterBlockTime(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  3197. BDAQINL ErrorCode PwModulatorCtrl_setNoiseFilterBlockTime(PwModulatorCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  3198. BDAQINL NosFltChannel * PwModulatorCtrl_getNoiseFilter(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  3199. /* Pulse width modulator methods */
  3200. BDAQINL IArray * PwModulatorCtrl_getChannels(PwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 111, IArray *)(obj); }
  3201. /*creator*/
  3202. BDAQINL PwModulatorCtrl* PwModulatorCtrl_Create(void) { return (PwModulatorCtrl *)DaqCtrlBase_Create(ScePwModulator); }
  3203. /* ----------------------------------------------------------*/
  3204. /*BufferedPwModulatorCtrl */
  3205. /* ----------------------------------------------------------*/
  3206. /*base1*/
  3207. BDAQINL ErrorCode BufferedPwModulatorCtrl_LoadProfile(BufferedPwModulatorCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3208. BDAQINL void BufferedPwModulatorCtrl_Cleanup(BufferedPwModulatorCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3209. BDAQINL void BufferedPwModulatorCtrl_Dispose(BufferedPwModulatorCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3210. BDAQINL void BufferedPwModulatorCtrl_getSelectedDevice(BufferedPwModulatorCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3211. BDAQINL ErrorCode BufferedPwModulatorCtrl_setSelectedDevice(BufferedPwModulatorCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3212. BDAQINL ControlState BufferedPwModulatorCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3213. BDAQINL DeviceCtrl * BufferedPwModulatorCtrl_getDevice(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3214. BDAQINL IArray * BufferedPwModulatorCtrl_getSupportedDevices(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3215. BDAQINL IArray * BufferedPwModulatorCtrl_getSupportedModes(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3216. /*base2*/
  3217. BDAQINL CntrFeatures * BufferedPwModulatorCtrl_getFeatures(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  3218. BDAQINL int32 BufferedPwModulatorCtrl_getChannelStart(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  3219. BDAQINL ErrorCode BufferedPwModulatorCtrl_setChannelStart(BufferedPwModulatorCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  3220. BDAQINL int32 BufferedPwModulatorCtrl_getChannelCount(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  3221. BDAQINL ErrorCode BufferedPwModulatorCtrl_setChannelCount(BufferedPwModulatorCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  3222. BDAQINL int8 BufferedPwModulatorCtrl_getEnabled(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  3223. BDAQINL ErrorCode BufferedPwModulatorCtrl_setEnabled(BufferedPwModulatorCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  3224. BDAQINL int8 BufferedPwModulatorCtrl_getRunning(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  3225. BDAQINL double BufferedPwModulatorCtrl_getNoiseFilterBlockTime(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  3226. BDAQINL ErrorCode BufferedPwModulatorCtrl_setNoiseFilterBlockTime(BufferedPwModulatorCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  3227. BDAQINL NosFltChannel * BufferedPwModulatorCtrl_getNoiseFilter(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  3228. /* Buffered Pulse width modulator methods */
  3229. BDAQINL int32 BufferedPwModulatorCtrl_getBufferCapacity(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 186, int32)(obj); }
  3230. BDAQINL int8 BufferedPwModulatorCtrl_getBufferStatus(BufferedPwModulatorCtrl *obj, int32 ch, int32 *count, int32 *offset) { return DAQFN_TTTT(DNLAPI_CNTR, 191, int8, int32, int32 *, int32 *)(obj, ch, count, offset); }
  3231. BDAQINL Trigger* BufferedPwModulatorCtrl_getTrigger(BufferedPwModulatorCtrl *obj) { return DAQFN_TT(DNLAPI_CNTR, 171, Trigger *, int32)(obj, 0); }
  3232. BDAQINL int32 BufferedPwModulatorCtrl_getSamples(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 172, int32)(obj); }
  3233. BDAQINL ErrorCode BufferedPwModulatorCtrl_setSamples(BufferedPwModulatorCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 173, int32)(obj, value); }
  3234. BDAQINL int32 BufferedPwModulatorCtrl_getIntervalCount(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 174, int32)(obj); }
  3235. BDAQINL ErrorCode BufferedPwModulatorCtrl_setIntervalCount(BufferedPwModulatorCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 175, int32)(obj, value); }
  3236. BDAQINL int8 BufferedPwModulatorCtrl_getStreaming(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 187, int8)(obj); }
  3237. BDAQINL ErrorCode BufferedPwModulatorCtrl_setStreaming(BufferedPwModulatorCtrl *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 176, int8)(obj, value); }
  3238. BDAQINL ErrorCode BufferedPwModulatorCtrl_setSampleClkSrc(BufferedPwModulatorCtrl *obj, SignalDrop drop) { return DAQFN_ET(DNLAPI_CNTR, 177, SignalDrop)(obj, drop); }
  3239. BDAQINL SignalDrop BufferedPwModulatorCtrl_getSampleClkSrc(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 178, SignalDrop)(obj); }
  3240. BDAQINL void BufferedPwModulatorCtrl_getChannelMap(BufferedPwModulatorCtrl *obj, int32 count, int8 *chMap) { DAQFN_VTT(DNLAPI_CNTR, 169, int32, int8 *)(obj, count, chMap); }
  3241. BDAQINL ErrorCode BufferedPwModulatorCtrl_setChannelMap(BufferedPwModulatorCtrl *obj, int32 count, int8 *chMap) { return DAQFN_ETT(DNLAPI_CNTR, 170, int32, int8 *)(obj, count, chMap); }
  3242. BDAQINL ErrorCode BufferedPwModulatorCtrl_Prepare(BufferedPwModulatorCtrl *obj) { return DAQFN_EV(DNLAPI_CNTR, 180)(obj); }
  3243. BDAQINL void BufferedPwModulatorCtrl_Release(BufferedPwModulatorCtrl *obj) { DAQFN_VV(DNLAPI_CNTR, 181)(obj); }
  3244. BDAQINL IArray * BufferedPwModulatorCtrl_getChannels(BufferedPwModulatorCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 179, IArray *)(obj); }
  3245. BDAQINL ErrorCode BufferedPwModulatorCtrl_SetData(BufferedPwModulatorCtrl *obj, int32 cntr, int32 count, PulseWidth *buffer)
  3246. {
  3247. typedef ErrorCode (BDAQCALL *FNSETDATA)(void *, int32, int32, void*);
  3248. return ((FNSETDATA)DNLAPI_CNTR[182])(obj, cntr, count, buffer);
  3249. }
  3250. /*creator*/
  3251. BDAQINL BufferedPwModulatorCtrl* BufferedPwModulatorCtrl_Create(void) { return (BufferedPwModulatorCtrl *)DaqCtrlBase_Create(SceBufferedPwModulator); }
  3252. /*Helpers*/
  3253. /*event*/
  3254. BDAQINL void BufferedPwModulatorCtrl_addDataTransmittedHandler(BufferedPwModulatorCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCoDataTransmitted, (DaqEventProc)proc, userParam); }
  3255. BDAQINL void BufferedPwModulatorCtrl_removeDataTransmittedHandler(BufferedPwModulatorCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCoDataTransmitted, (DaqEventProc)proc, userParam); }
  3256. BDAQINL void BufferedPwModulatorCtrl_addUnderrunHandler(BufferedPwModulatorCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCoUnderrun, (DaqEventProc)proc, userParam); }
  3257. BDAQINL void BufferedPwModulatorCtrl_removeUnderrunHandler(BufferedPwModulatorCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCoUnderrun, (DaqEventProc)proc, userParam); }
  3258. BDAQINL void BufferedPwModulatorCtrl_addCacheEmptiedHandler(BufferedPwModulatorCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCoCacheEmptied, (DaqEventProc)proc, userParam); }
  3259. BDAQINL void BufferedPwModulatorCtrl_removeCacheEmptiedHandler(BufferedPwModulatorCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCoCacheEmptied, (DaqEventProc)proc, userParam); }
  3260. BDAQINL void BufferedPwModulatorCtrl_addTransitStoppedHandler(BufferedPwModulatorCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCoTransStopped, (DaqEventProc)proc, userParam); }
  3261. BDAQINL void BufferedPwModulatorCtrl_removeTransitStoppedHandler(BufferedPwModulatorCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCoTransStopped, (DaqEventProc)proc, userParam); }
  3262. BDAQINL void BufferedPwModulatorCtrl_addStoppedHandler(BufferedPwModulatorCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCntrStopped, (DaqEventProc)proc, userParam); }
  3263. BDAQINL void BufferedPwModulatorCtrl_removeStoppedHandler(BufferedPwModulatorCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCntrStopped, (DaqEventProc)proc, userParam); }
  3264. /* ----------------------------------------------------------*/
  3265. /*UdChannel */
  3266. /* ----------------------------------------------------------*/
  3267. BDAQINL int32 UdChannel_getChannel(UdChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 112, int32)(obj); }
  3268. BDAQINL int8 UdChannel_getNoiseFiltered(UdChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 113, int8)(obj); }
  3269. BDAQINL ErrorCode UdChannel_setNoiseFiltered(UdChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 114, int8)(obj, value); }
  3270. BDAQINL CountingType UdChannel_getCountingType(UdChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 115, CountingType)(obj); }
  3271. BDAQINL ErrorCode UdChannel_setCountingType(UdChannel *obj, CountingType value) { return DAQFN_ET(DNLAPI_CNTR, 116, CountingType)(obj, value);}
  3272. BDAQINL int32 UdChannel_getInitialValue(UdChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 117, int32)(obj); }
  3273. BDAQINL ErrorCode UdChannel_setInitialValue(UdChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 118, int32)(obj, value); }
  3274. BDAQINL int32 UdChannel_getResetTimesByIndex(UdChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 119, int32)(obj); }
  3275. BDAQINL ErrorCode UdChannel_setResetTimesByIndex(UdChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 120, int32)(obj, value); }
  3276. // new properties for Counter continue comparing: outputting pulse settings
  3277. BDAQINL void UdChannel_getPulseWidth(UdChannel *obj, PulseWidth *x) { DAQFN_VT(DNLAPI_CNTR, 202, PulseWidth *)(obj, x); }
  3278. BDAQINL ErrorCode UdChannel_setPulseWidth(UdChannel *obj, PulseWidth const *x) { return DAQFN_ET(DNLAPI_CNTR, 203, PulseWidth const*)(obj, x); }
  3279. BDAQINL int8 UdChannel_getGated(UdChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 204, int8)(obj); }
  3280. BDAQINL ErrorCode UdChannel_setGated(UdChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 205, int8)(obj, value); }
  3281. BDAQINL SignalPolarity UdChannel_getGatePolarity(UdChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 206, SignalPolarity)(obj); }
  3282. BDAQINL ErrorCode UdChannel_setGatePolarity(UdChannel *obj, SignalPolarity value) { return DAQFN_ET(DNLAPI_CNTR, 207, SignalPolarity)(obj, value); }
  3283. BDAQINL OutSignalType UdChannel_getOutSignal(UdChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 208, OutSignalType)(obj); }
  3284. BDAQINL ErrorCode UdChannel_setOutSignal(UdChannel *obj, OutSignalType value) { return DAQFN_ET(DNLAPI_CNTR, 209, OutSignalType)(obj, value); }
  3285. BDAQINL int32 UdChannel_getOutCount(UdChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 210, int32)(obj); }
  3286. BDAQINL ErrorCode UdChannel_setOutCount(UdChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 211, int32)(obj, value); }
  3287. /* ----------------------------------------------------------*/
  3288. /*UdCounterCtrl */
  3289. /* ----------------------------------------------------------*/
  3290. /*base1*/
  3291. BDAQINL ErrorCode UdCounterCtrl_LoadProfile(UdCounterCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3292. BDAQINL void UdCounterCtrl_Cleanup(UdCounterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3293. BDAQINL void UdCounterCtrl_Dispose(UdCounterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3294. BDAQINL void UdCounterCtrl_getSelectedDevice(UdCounterCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3295. BDAQINL ErrorCode UdCounterCtrl_setSelectedDevice(UdCounterCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3296. BDAQINL ControlState UdCounterCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3297. BDAQINL DeviceCtrl * UdCounterCtrl_getDevice(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3298. BDAQINL IArray * UdCounterCtrl_getSupportedDevices(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3299. BDAQINL IArray * UdCounterCtrl_getSupportedModes(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3300. /*base2*/
  3301. BDAQINL CntrFeatures * UdCounterCtrl_getFeatures(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  3302. BDAQINL int32 UdCounterCtrl_getChannelStart(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  3303. BDAQINL ErrorCode UdCounterCtrl_setChannelStart(UdCounterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  3304. BDAQINL int32 UdCounterCtrl_getChannelCount(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  3305. BDAQINL ErrorCode UdCounterCtrl_setChannelCount(UdCounterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  3306. BDAQINL int8 UdCounterCtrl_getEnabled(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  3307. BDAQINL ErrorCode UdCounterCtrl_setEnabled(UdCounterCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  3308. BDAQINL int8 UdCounterCtrl_getRunning(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  3309. BDAQINL double UdCounterCtrl_getNoiseFilterBlockTime(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  3310. BDAQINL ErrorCode UdCounterCtrl_setNoiseFilterBlockTime(UdCounterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  3311. BDAQINL NosFltChannel * UdCounterCtrl_getNoiseFilter(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  3312. /* UdCounterCtrl methods */
  3313. BDAQINL ErrorCode UdCounterCtrl_SnapStart(UdCounterCtrl *obj, EventId srcId) { return DAQFN_ET(DNLAPI_CNTR, 121, EventId)(obj, srcId); }
  3314. BDAQINL ErrorCode UdCounterCtrl_SnapStop(UdCounterCtrl *obj, EventId srcId) { return DAQFN_ET(DNLAPI_CNTR, 122, EventId)(obj, srcId); }
  3315. BDAQINL ErrorCode UdCounterCtrl_CompareAppendTable(UdCounterCtrl *obj, int32 channel, int32 count, int32 *table) { return DAQFN_ETTT(DNLAPI_CNTR, 224, int32, int32, int32 *)(obj, channel, count, table); }
  3316. BDAQINL ErrorCode UdCounterCtrl_CompareSetTable(UdCounterCtrl *obj, int32 channel, int32 count, int32 *table) { return DAQFN_ETTT(DNLAPI_CNTR, 123, int32, int32, int32 *)(obj, channel, count, table); }
  3317. BDAQINL ErrorCode UdCounterCtrl_CompareAppendInterval(UdCounterCtrl *obj, int32 channel, int32 start, int32 increment,int32 count) { return DAQFN_ETTTT(DNLAPI_CNTR, 225, int32, int32, int32, int32)(obj, channel, start, increment, count); }
  3318. BDAQINL ErrorCode UdCounterCtrl_CompareSetInterval(UdCounterCtrl *obj, int32 channel, int32 start, int32 increment,int32 count) { return DAQFN_ETTTT(DNLAPI_CNTR, 124, int32, int32, int32, int32)(obj, channel, start, increment, count); }
  3319. BDAQINL ErrorCode UdCounterCtrl_CompareClear(UdCounterCtrl *obj, int32 channel) { return DAQFN_ET(DNLAPI_CNTR, 125, int32)(obj, channel); }
  3320. BDAQINL ErrorCode UdCounterCtrl_ValueReset(UdCounterCtrl *obj) { return DAQFN_EV(DNLAPI_CNTR, 126)(obj); }
  3321. BDAQINL ErrorCode UdCounterCtrl_Read(UdCounterCtrl *obj, int32 count, int32 *buffer) { return DAQFN_ETT(DNLAPI_CNTR, 127, int32, int32 *)(obj, count, buffer); }
  3322. BDAQINL IArray * UdCounterCtrl_getChannels(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 128, IArray *)(obj); }
  3323. BDAQINL int8 UdCounterCtrl_getCcpDatCtrlCodeEnabled(UdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 263, int8)(obj); }
  3324. BDAQINL ErrorCode UdCounterCtrl_setCcpDatCtrlCodeEnabled(UdCounterCtrl *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 264, int8)(obj, value); }
  3325. /*creator*/
  3326. BDAQINL UdCounterCtrl* UdCounterCtrl_Create(void) { return (UdCounterCtrl *)DaqCtrlBase_Create(SceUdCounter); }
  3327. /*Helpers*/
  3328. BDAQINL void UdCounterCtrl_addUdCntrEventHandler(UdCounterCtrl *obj, UdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtUdIndex0, (DaqEventProc)proc, userParam);}
  3329. BDAQINL void UdCounterCtrl_removeUdCntrEventHandler(UdCounterCtrl *obj, UdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtUdIndex0, (DaqEventProc)proc, userParam);}
  3330. /* ----------------------------------------------------------*/
  3331. /*BufferedUdCounterCtrl */
  3332. /* ----------------------------------------------------------*/
  3333. /*base1*/
  3334. BDAQINL ErrorCode BufferedUdCounterCtrl_LoadProfile(BufferedUdCounterCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3335. BDAQINL void BufferedUdCounterCtrl_Cleanup(BufferedUdCounterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3336. BDAQINL void BufferedUdCounterCtrl_Dispose(BufferedUdCounterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3337. BDAQINL void BufferedUdCounterCtrl_getSelectedDevice(BufferedUdCounterCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3338. BDAQINL ErrorCode BufferedUdCounterCtrl_setSelectedDevice(BufferedUdCounterCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3339. BDAQINL ControlState BufferedUdCounterCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3340. BDAQINL DeviceCtrl * BufferedUdCounterCtrl_getDevice(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3341. BDAQINL IArray * BufferedUdCounterCtrl_getSupportedDevices(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3342. BDAQINL IArray * BufferedUdCounterCtrl_getSupportedModes(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3343. /*base2*/
  3344. BDAQINL CntrFeatures * BufferedUdCounterCtrl_getFeatures(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  3345. BDAQINL int32 BufferedUdCounterCtrl_getChannelStart(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  3346. BDAQINL ErrorCode BufferedUdCounterCtrl_setChannelStart(BufferedUdCounterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  3347. BDAQINL int32 BufferedUdCounterCtrl_getChannelCount(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  3348. BDAQINL ErrorCode BufferedUdCounterCtrl_setChannelCount(BufferedUdCounterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  3349. BDAQINL int8 BufferedUdCounterCtrl_getEnabled(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  3350. BDAQINL ErrorCode BufferedUdCounterCtrl_setEnabled(BufferedUdCounterCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  3351. BDAQINL int8 BufferedUdCounterCtrl_getRunning(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  3352. BDAQINL double BufferedUdCounterCtrl_getNoiseFilterBlockTime(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  3353. BDAQINL ErrorCode BufferedUdCounterCtrl_setNoiseFilterBlockTime(BufferedUdCounterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  3354. BDAQINL NosFltChannel * BufferedUdCounterCtrl_getNoiseFilter(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  3355. /* Buffered UdCounterCtrl methods */
  3356. BDAQINL int32 BufferedUdCounterCtrl_getBufferCapacity(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 185, int32)(obj); }
  3357. BDAQINL int8 BufferedUdCounterCtrl_getBufferStatus(BufferedUdCounterCtrl *obj, int32 ch, int32 *count, int32 *offset) { return DAQFN_TTTT(DNLAPI_CNTR, 190, int8, int32, int32 *, int32 *)(obj, ch, count, offset); }
  3358. BDAQINL Trigger* BufferedUdCounterCtrl_getTrigger(BufferedUdCounterCtrl *obj) { return DAQFN_TT(DNLAPI_CNTR, 161, Trigger *, int32)(obj, 0); }
  3359. BDAQINL Record* BufferedUdCounterCtrl_getRecord(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 162, Record *)(obj); }
  3360. BDAQINL ErrorCode BufferedUdCounterCtrl_setSampleClkSrc(BufferedUdCounterCtrl *obj, SignalDrop drop) { return DAQFN_ET(DNLAPI_CNTR, 163, SignalDrop)(obj, drop); }
  3361. BDAQINL SignalDrop BufferedUdCounterCtrl_getSampleClkSrc(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 164, SignalDrop)(obj); }
  3362. BDAQINL void BufferedUdCounterCtrl_getChannelMap(BufferedUdCounterCtrl *obj, int32 count, int8 *chMap) { DAQFN_VTT(DNLAPI_CNTR, 159, int32, int8 *)(obj, count, chMap); }
  3363. BDAQINL ErrorCode BufferedUdCounterCtrl_setChannelMap(BufferedUdCounterCtrl *obj, int32 count, int8 *chMap) { return DAQFN_ETT(DNLAPI_CNTR, 160, int32, int8 *)(obj, count, chMap); }
  3364. BDAQINL ErrorCode BufferedUdCounterCtrl_Prepare(BufferedUdCounterCtrl *obj) { return DAQFN_EV(DNLAPI_CNTR, 166)(obj); }
  3365. BDAQINL void BufferedUdCounterCtrl_Release(BufferedUdCounterCtrl *obj) { DAQFN_VV(DNLAPI_CNTR, 167)(obj); }
  3366. BDAQINL IArray * BufferedUdCounterCtrl_getChannels(BufferedUdCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 165, IArray *)(obj); }
  3367. BDAQINL ErrorCode BufferedUdCounterCtrl_GetDataI32(BufferedUdCounterCtrl *obj, int32 cntr, int32 count, int32 dataBuf[], int32 timeout, int32 *returned, double *startTime)
  3368. {
  3369. typedef ErrorCode (BDAQCALL *FNGETDATA)(void *, int32, int32, void*, int32, int32*, double*);
  3370. return ((FNGETDATA)DNLAPI_CNTR[168])(obj, cntr, count, dataBuf, timeout, returned, startTime);
  3371. }
  3372. /*creator*/
  3373. BDAQINL BufferedUdCounterCtrl* BufferedUdCounterCtrl_Create(void) { return (BufferedUdCounterCtrl *)DaqCtrlBase_Create(SceBufferedUdCounter); }
  3374. /*Helpers*/
  3375. BDAQINL void BufferedUdCounterCtrl_addDataReadyHandler(BufferedUdCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  3376. BDAQINL void BufferedUdCounterCtrl_removeDataReadyHandler(BufferedUdCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  3377. BDAQINL void BufferedUdCounterCtrl_addOverrunHandler(BufferedUdCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  3378. BDAQINL void BufferedUdCounterCtrl_removeOverrunHandler(BufferedUdCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  3379. BDAQINL void BufferedUdCounterCtrl_addCacheOverflowHandler(BufferedUdCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  3380. BDAQINL void BufferedUdCounterCtrl_removeCacheOverflowHandler(BufferedUdCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  3381. BDAQINL void BufferedUdCounterCtrl_addStoppedHandler(BufferedUdCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  3382. BDAQINL void BufferedUdCounterCtrl_removeStoppedHandler(BufferedUdCounterCtrl *obj, BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  3383. /* ----------------------------------------------------------*/
  3384. /*AbsChannel */
  3385. /* ----------------------------------------------------------*/
  3386. BDAQINL int32 AbsChannel_getChannel(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 233, int32)(obj); }
  3387. BDAQINL int8 AbsChannel_getNoiseFiltered(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 234, int8)(obj); }
  3388. BDAQINL ErrorCode AbsChannel_setNoiseFiltered(AbsChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 235, int8)(obj, value); }
  3389. BDAQINL CodingType AbsChannel_getCodingType(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 236, CodingType)(obj); }
  3390. BDAQINL ErrorCode AbsChannel_setCodingType(AbsChannel *obj, CodingType value) { return DAQFN_ET(DNLAPI_CNTR, 237, CodingType)(obj, value); }
  3391. BDAQINL Baudrate AbsChannel_getBaudrate(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 238, Baudrate)(obj); }
  3392. BDAQINL ErrorCode AbsChannel_setBaudrate(AbsChannel *obj, Baudrate value) { return DAQFN_ET(DNLAPI_CNTR, 239, Baudrate)(obj, value); }
  3393. BDAQINL ErrorRetType AbsChannel_getErrorRetType(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 240, ErrorRetType)(obj); }
  3394. BDAQINL ErrorCode AbsChannel_setErrorRetType(AbsChannel *obj, ErrorRetType value) { return DAQFN_ET(DNLAPI_CNTR, 241, ErrorRetType)(obj, value);}
  3395. BDAQINL int32 AbsChannel_getErrorRetValue(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 242, int32)(obj); }
  3396. BDAQINL ErrorCode AbsChannel_setErrorRetValue(AbsChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 243, int32)(obj, value); }
  3397. BDAQINL ActiveSignal AbsChannel_getLatchSigEdge(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 244, ActiveSignal)(obj); }
  3398. BDAQINL ErrorCode AbsChannel_setLatchSigEdge(AbsChannel *obj, ActiveSignal value) { return DAQFN_ET(DNLAPI_CNTR, 245, ActiveSignal)(obj, value);}
  3399. BDAQINL OutSignalType AbsChannel_getOutSignal(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 246, OutSignalType)(obj); }
  3400. BDAQINL ErrorCode AbsChannel_setOutSignal(AbsChannel *obj, OutSignalType value) { return DAQFN_ET(DNLAPI_CNTR, 247, OutSignalType)(obj, value);}
  3401. BDAQINL int32 AbsChannel_getCompareValue0(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 248, int32)(obj); }
  3402. BDAQINL ErrorCode AbsChannel_setCompareValue0(AbsChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 249, int32)(obj, value); }
  3403. BDAQINL int8 AbsChannel_getCompare0Enabled(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 250, int8)(obj); }
  3404. BDAQINL ErrorCode AbsChannel_setCompare0Enabled(AbsChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 251, int8)(obj, value); }
  3405. BDAQINL int32 AbsChannel_getCompareValue1(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 252, int32)(obj); }
  3406. BDAQINL ErrorCode AbsChannel_setCompareValue1(AbsChannel *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 253, int32)(obj, value); }
  3407. BDAQINL int8 AbsChannel_getCompare1Enabled(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 254, int8)(obj); }
  3408. BDAQINL ErrorCode AbsChannel_setCompare1Enabled(AbsChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 255, int8)(obj, value); }
  3409. BDAQINL int32 AbsChannel_getLatchedValue(AbsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 256, int32)(obj); }
  3410. /* ----------------------------------------------------------*/
  3411. /*AbsCounterCtrl */
  3412. /* ----------------------------------------------------------*/
  3413. /*base1*/
  3414. BDAQINL ErrorCode AbsCounterCtrl_LoadProfile(AbsCounterCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3415. BDAQINL void AbsCounterCtrl_Cleanup(AbsCounterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3416. BDAQINL void AbsCounterCtrl_Dispose(AbsCounterCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3417. BDAQINL void AbsCounterCtrl_getSelectedDevice(AbsCounterCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3418. BDAQINL ErrorCode AbsCounterCtrl_setSelectedDevice(AbsCounterCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3419. BDAQINL ControlState AbsCounterCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3420. BDAQINL DeviceCtrl * AbsCounterCtrl_getDevice(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3421. BDAQINL IArray * AbsCounterCtrl_getSupportedDevices(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3422. BDAQINL IArray * AbsCounterCtrl_getSupportedModes(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3423. /*base2*/
  3424. BDAQINL CntrFeatures * AbsCounterCtrl_getFeatures(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  3425. BDAQINL int32 AbsCounterCtrl_getChannelStart(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  3426. BDAQINL ErrorCode AbsCounterCtrl_setChannelStart(AbsCounterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  3427. BDAQINL int32 AbsCounterCtrl_getChannelCount(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  3428. BDAQINL ErrorCode AbsCounterCtrl_setChannelCount(AbsCounterCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  3429. BDAQINL int8 AbsCounterCtrl_getEnabled(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  3430. BDAQINL ErrorCode AbsCounterCtrl_setEnabled(AbsCounterCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  3431. BDAQINL int8 AbsCounterCtrl_getRunning(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  3432. BDAQINL double AbsCounterCtrl_getNoiseFilterBlockTime(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  3433. BDAQINL ErrorCode AbsCounterCtrl_setNoiseFilterBlockTime(AbsCounterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  3434. BDAQINL NosFltChannel * AbsCounterCtrl_getNoiseFilter(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  3435. BDAQINL double AbsCounterCtrl_getMeasurementTimeout(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 130, double)(obj); }
  3436. BDAQINL ErrorCode AbsCounterCtrl_setMeasurementTimeout(AbsCounterCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 131, double)(obj, value); }
  3437. /* Event counter methods */
  3438. BDAQINL IArray * AbsCounterCtrl_getChannels(AbsCounterCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 257, IArray *)(obj); }
  3439. BDAQINL ErrorCode AbsCounterCtrl_Read(AbsCounterCtrl *obj, int32 count, int32 *buffer) { return DAQFN_ETT(DNLAPI_CNTR, 258, int32, int32 *)(obj, count, buffer); }
  3440. BDAQINL ErrorCode AbsCounterCtrl_StatusRead(AbsCounterCtrl *obj, int32 count, int32 *buffer) { return DAQFN_ETT(DNLAPI_CNTR, 259, int32, int32 *)(obj, count, buffer); }
  3441. /*creator*/
  3442. BDAQINL AbsCounterCtrl* AbsCounterCtrl_Create(void) { return (AbsCounterCtrl *)DaqCtrlBase_Create(SceAbsCounter); }
  3443. /* ----------------------------------------------------------*/
  3444. /*EsChannel */
  3445. /* ----------------------------------------------------------*/
  3446. BDAQINL int32 EsChannel_getChannel(EsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 192, int32)(obj); }
  3447. BDAQINL int8 EsChannel_getNoiseFiltered(EsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 193, int8)(obj); }
  3448. BDAQINL ErrorCode EsChannel_setNoiseFiltered(EsChannel *obj, int8 value) { return DAQFN_ET(DNLAPI_CNTR, 194, int8)(obj, value); }
  3449. BDAQINL ActiveSignal EsChannel_getStartCountingEdge(EsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 195, ActiveSignal)(obj); }
  3450. BDAQINL ErrorCode EsChannel_setStartCountingEdge(EsChannel *obj, ActiveSignal value) { return DAQFN_ET(DNLAPI_CNTR, 196, ActiveSignal)(obj, value);}
  3451. BDAQINL ActiveSignal EsChannel_getStopCountingEdge(EsChannel *obj) { return DAQFN_TV(DNLAPI_CNTR, 197, ActiveSignal)(obj); }
  3452. BDAQINL ErrorCode EsChannel_setStopCountingEdge(EsChannel *obj, ActiveSignal value) { return DAQFN_ET(DNLAPI_CNTR, 198, ActiveSignal)(obj, value);}
  3453. /* ----------------------------------------------------------*/
  3454. /*EdgeSeparationCtrl */
  3455. /* ----------------------------------------------------------*/
  3456. /*base1*/
  3457. BDAQINL ErrorCode EdgeSeparationCtrl_LoadProfile(EdgeSeparationCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3458. BDAQINL void EdgeSeparationCtrl_Cleanup(EdgeSeparationCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3459. BDAQINL void EdgeSeparationCtrl_Dispose(EdgeSeparationCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3460. BDAQINL void EdgeSeparationCtrl_getSelectedDevice(EdgeSeparationCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3461. BDAQINL ErrorCode EdgeSeparationCtrl_setSelectedDevice(EdgeSeparationCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3462. BDAQINL ControlState EdgeSeparationCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3463. BDAQINL DeviceCtrl * EdgeSeparationCtrl_getDevice(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3464. BDAQINL IArray * EdgeSeparationCtrl_getSupportedDevices(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3465. BDAQINL IArray * EdgeSeparationCtrl_getSupportedModes(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3466. /*base2*/
  3467. BDAQINL CntrFeatures * EdgeSeparationCtrl_getFeatures(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(obj); }
  3468. BDAQINL int32 EdgeSeparationCtrl_getChannelStart(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj); }
  3469. BDAQINL ErrorCode EdgeSeparationCtrl_setChannelStart(EdgeSeparationCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, value); }
  3470. BDAQINL int32 EdgeSeparationCtrl_getChannelCount(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(obj); }
  3471. BDAQINL ErrorCode EdgeSeparationCtrl_setChannelCount(EdgeSeparationCtrl *obj, int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, value); }
  3472. BDAQINL int8 EdgeSeparationCtrl_getEnabled(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 39, int8)(obj); }
  3473. BDAQINL ErrorCode EdgeSeparationCtrl_setEnabled(EdgeSeparationCtrl *obj, int8 enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, int8)(obj, enabled); }
  3474. BDAQINL int8 EdgeSeparationCtrl_getRunning(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 41, int8)(obj); }
  3475. BDAQINL double EdgeSeparationCtrl_getNoiseFilterBlockTime(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 42, double)(obj); }
  3476. BDAQINL ErrorCode EdgeSeparationCtrl_setNoiseFilterBlockTime(EdgeSeparationCtrl *obj, double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(obj, value); }
  3477. BDAQINL NosFltChannel * EdgeSeparationCtrl_getNoiseFilter_getNoiseFilter(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(obj);}
  3478. /* Edge Separation methods */
  3479. BDAQINL ErrorCode EdgeSeparationCtrl_Read(EdgeSeparationCtrl *obj, int32 count, double *buffer) { return DAQFN_ETT(DNLAPI_CNTR, 199, int32, double *)(obj, count, buffer); }
  3480. BDAQINL IArray * EdgeSeparationCtrl_getChannels(EdgeSeparationCtrl *obj) { return DAQFN_TV(DNLAPI_CNTR, 200, IArray *)(obj); }
  3481. /*creator*/
  3482. BDAQINL EdgeSeparationCtrl* EdgeSeparationCtrl_Create(void) { return (EdgeSeparationCtrl *)DaqCtrlBase_Create(SceEdgeSeparation); }
  3483. /*************************************************************/
  3484. /* ctrl class : Calibration related */
  3485. /* ----------------------------------------------------------*/
  3486. /* CaliSubject */
  3487. /* ----------------------------------------------------------*/
  3488. BDAQINL wchar_t const * CaliSubject_getDescription(CaliSubject *obj) { return DAQFN_TV(DNLAPI_BASE, 105, wchar_t const *)(obj);}
  3489. BDAQINL wchar_t const * CaliSubject_getInstruction(CaliSubject *obj) { return DAQFN_TV(DNLAPI_BASE, 106, wchar_t const *)(obj);}
  3490. BDAQINL wchar_t const * CaliSubject_getTargetRange(CaliSubject *obj) { return DAQFN_TV(DNLAPI_BASE, 107, wchar_t const *)(obj);}
  3491. BDAQINL CaliState CaliSubject_AdjCodeGetCurrentState(CaliSubject *obj,double *value, int32 *count, int32 code[]) { return DAQFN_TTTT(DNLAPI_BASE, 108, CaliState, double *, int32 *, int32 *)(obj, value, count, code);}
  3492. BDAQINL void CaliSubject_AdjCodeGetRange(CaliSubject *obj, int32 lower[], int32 upper[]) { DAQFN_VTT(DNLAPI_BASE, 109, int32 *, int32 *)(obj, lower, upper);}
  3493. BDAQINL ErrorCode CaliSubject_ManualAdjStart(CaliSubject *obj) { return DAQFN_EV(DNLAPI_BASE, 110)(obj); }
  3494. BDAQINL ErrorCode CaliSubject_ManualAdjStop(CaliSubject *obj) { return DAQFN_EV(DNLAPI_BASE, 111)(obj); }
  3495. BDAQINL ErrorCode CaliSubject_ManualAdjSetCode(CaliSubject *obj, int32 count, int32 code[]) { return DAQFN_ETT(DNLAPI_BASE, 112, int32, int32 *)(obj, count, code); }
  3496. /* ----------------------------------------------------------*/
  3497. /* CaliSection */
  3498. /* ----------------------------------------------------------*/
  3499. BDAQINL wchar_t const * CaliSection_getTypeName(CaliSection *obj) { return DAQFN_TV(DNLAPI_BASE, 113, wchar_t const *)(obj);}
  3500. BDAQINL wchar_t const * CaliSection_getDescription(CaliSection *obj) { return DAQFN_TV(DNLAPI_BASE, 114, wchar_t const *)(obj);}
  3501. BDAQINL wchar_t const * CaliSection_getInstruction(CaliSection *obj) { return DAQFN_TV(DNLAPI_BASE, 115, wchar_t const *)(obj);}
  3502. BDAQINL IArray * CaliSection_getSubjects(CaliSection *obj) { return DAQFN_TV(DNLAPI_BASE, 116, IArray *)(obj); }
  3503. BDAQINL ErrorCode CaliSection_Prepare(CaliSection *obj) { return DAQFN_EV(DNLAPI_BASE, 146)(obj); }
  3504. BDAQINL ErrorCode CaliSection_BatchStart(CaliSection *obj) { return DAQFN_EV(DNLAPI_BASE, 117)(obj); }
  3505. BDAQINL void CaliSection_BatchTerminate(CaliSection *obj) { DAQFN_VV(DNLAPI_BASE, 118)(obj); }
  3506. /* ----------------------------------------------------------*/
  3507. /* CaliSolution */
  3508. /* ----------------------------------------------------------*/
  3509. BDAQINL wchar_t const * CaliSolution_getTypeName(CaliSolution *obj) { return DAQFN_TV(DNLAPI_BASE, 119, wchar_t const *)(obj);}
  3510. BDAQINL wchar_t const * CaliSolution_getDescription(CaliSolution *obj) { return DAQFN_TV(DNLAPI_BASE, 120, wchar_t const *)(obj);}
  3511. BDAQINL wchar_t const * CaliSolution_getInstruction(CaliSolution *obj) { return DAQFN_TV(DNLAPI_BASE, 121, wchar_t const *)(obj);}
  3512. BDAQINL int8 const * CaliSolution_getAuxiliaryImage(CaliSolution *obj, int32 *size) { return DAQFN_TT(DNLAPI_BASE, 122, int8 const*, int32 *)(obj, size); }
  3513. BDAQINL IArray * CaliSolution_getSections(CaliSolution *obj) { return DAQFN_TV(DNLAPI_BASE, 123, IArray *)(obj); }
  3514. BDAQINL ErrorCode CaliSolution_AdjCodesSave(CaliSolution *obj) { return DAQFN_EV(DNLAPI_BASE, 124)(obj); }
  3515. BDAQINL ErrorCode CaliSolution_AdjCodesLoad(CaliSolution *obj) { return DAQFN_EV(DNLAPI_BASE, 125)(obj); }
  3516. BDAQINL ErrorCode CaliSolution_AdjCodesSaveToGoldBackup(CaliSolution *obj) { return DAQFN_EV(DNLAPI_BASE, 126)(obj); }
  3517. BDAQINL ErrorCode CaliSolution_AdjCodesLoadFromGoldBackup(CaliSolution *obj, int32 action) { return DAQFN_ET(DNLAPI_BASE, 127, int32)(obj, action); }
  3518. /* ----------------------------------------------------------*/
  3519. /*CalibrationCtrl */
  3520. /* ----------------------------------------------------------*/
  3521. /*base1*/
  3522. BDAQINL ErrorCode CalibrationCtrl_LoadProfile(CalibrationCtrl *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3523. BDAQINL void CalibrationCtrl_Cleanup(CalibrationCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3524. BDAQINL void CalibrationCtrl_Dispose(CalibrationCtrl *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3525. BDAQINL void CalibrationCtrl_getSelectedDevice(CalibrationCtrl *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3526. BDAQINL ErrorCode CalibrationCtrl_setSelectedDevice(CalibrationCtrl *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3527. BDAQINL ControlState CalibrationCtrl_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3528. BDAQINL DeviceCtrl * CalibrationCtrl_getDevice(CalibrationCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3529. BDAQINL IArray * CalibrationCtrl_getSupportedDevices(CalibrationCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3530. BDAQINL IArray * CalibrationCtrl_getSupportedModes(CalibrationCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3531. /* CalibrationCtrl methods */
  3532. BDAQINL IArray * CalibrationCtrl_getSolutions(CalibrationCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 128, IArray *)(obj); }
  3533. BDAQINL ErrorCode CalibrationCtrl_setLanguageType(CalibrationCtrl *obj, int32 type) { return DAQFN_ET(DNLAPI_BASE, 149, int32)(obj, type); }
  3534. /*creator*/
  3535. BDAQINL CalibrationCtrl * CalibrationCtrl_Create(void) { return (CalibrationCtrl *)DaqCtrlBase_Create(SceCalibration); }
  3536. /*************************************************************/
  3537. /* ctrl class : Firmware download related */
  3538. /* ----------------------------------------------------------*/
  3539. /* FirmwareCtrl */
  3540. /* ----------------------------------------------------------*/
  3541. BDAQINL wchar_t const * FirmwareCtrl_getDescription(FirmwareCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 129, wchar_t const *)(obj);}
  3542. BDAQINL wchar_t const * FirmwareCtrl_getNotice(FirmwareCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 130, wchar_t const *)(obj);}
  3543. BDAQINL wchar_t const * FirmwareCtrl_getActivationTitle(FirmwareCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 131, wchar_t const *)(obj);}
  3544. BDAQINL wchar_t const * FirmwareCtrl_getVersionOnDevice(FirmwareCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 132, wchar_t const *)(obj);}
  3545. BDAQINL wchar_t const * FirmwareCtrl_getVersionOnFile(FirmwareCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 133, wchar_t const *)(obj);}
  3546. BDAQINL int32 FirmwareCtrl_getOverwriteProgressing(FirmwareCtrl *obj) { return DAQFN_TV(DNLAPI_BASE, 134, int32)(obj); }
  3547. BDAQINL ErrorCode FirmwareCtrl_LoadFwFile(FirmwareCtrl *obj, wchar_t const *filePath) { return DAQFN_ET(DNLAPI_BASE, 135, wchar_t const *)(obj, filePath); }
  3548. BDAQINL ErrorCode FirmwareCtrl_Overwrite(FirmwareCtrl *obj, FwAction action, wchar_t const *activationCode) { return DAQFN_ETT(DNLAPI_BASE,136, FwAction, wchar_t const *)(obj, action, activationCode); }
  3549. /* ----------------------------------------------------------*/
  3550. /*FirmwareCtrls */
  3551. /* ----------------------------------------------------------*/
  3552. /*base1*/
  3553. BDAQINL ErrorCode FirmwareCtrls_LoadProfile(FirmwareCtrls *obj, wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(obj, fileName); }
  3554. BDAQINL void FirmwareCtrls_Cleanup(FirmwareCtrls *obj) { DAQFN_VV(DNLAPI_BASE, 83)(obj); }
  3555. BDAQINL void FirmwareCtrls_Dispose(FirmwareCtrls *obj) { DAQFN_VV(DNLAPI_BASE, 84)(obj); }
  3556. BDAQINL void FirmwareCtrls_getSelectedDevice(FirmwareCtrls *obj, DeviceInformation *x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(obj, x); }
  3557. BDAQINL ErrorCode FirmwareCtrls_setSelectedDevice(FirmwareCtrls *obj, DeviceInformation const *x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(obj, x); }
  3558. BDAQINL ControlState FirmwareCtrls_getState(void *obj) { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(obj); }
  3559. BDAQINL DeviceCtrl * FirmwareCtrls_getDevice(FirmwareCtrls *obj) { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj); }
  3560. BDAQINL IArray * FirmwareCtrls_getSupportedDevices(FirmwareCtrls *obj) { return DAQFN_TV(DNLAPI_BASE, 89, IArray *)(obj); }
  3561. BDAQINL IArray * FirmwareCtrls_getSupportedModes(FirmwareCtrls *obj) { return DAQFN_TV(DNLAPI_BASE, 90, IArray *)(obj); }
  3562. /* FirmwareCtrls methods */
  3563. BDAQINL IArray * FirmwareCtrls_getFirmwares(FirmwareCtrls *obj) { return DAQFN_TV(DNLAPI_BASE, 137, IArray *)(obj); }
  3564. BDAQINL ErrorCode FirmwareCtrls_setLanguageType(FirmwareCtrls *obj, int32 type) { return DAQFN_ET(DNLAPI_BASE, 148, int32)(obj, type); }
  3565. /*creator*/
  3566. BDAQINL FirmwareCtrls * FirmwareCtrls_Create(void) { return (FirmwareCtrls *)DaqCtrlBase_Create(SceFirmware); }
  3567. /**********************************************************/
  3568. /* For compatible */
  3569. /**********************************************************/
  3570. #if !defined(__cplusplus) || defined(_BDAQ_C_INTERFACE)
  3571. typedef IArray ICollection;
  3572. typedef ICounterIndexer CounterCapabilityIndexer;
  3573. typedef AiChannel AnalogInputChannel;
  3574. typedef AoChannel AnalogChannel;
  3575. typedef NosFltChannel NoiseFilterChannel;
  3576. typedef DioFeatures DiFeatures;
  3577. typedef DioFeatures DoFeatures;
  3578. typedef CntrFeatures EventCounterFeatures;
  3579. typedef CntrFeatures FreqMeterFeatures;
  3580. typedef CntrFeatures OneShotFeatures;
  3581. typedef CntrFeatures TimerPulseFeatures;
  3582. typedef CntrFeatures PwMeterFeatures;
  3583. typedef CntrFeatures PwModulatorFeatures;
  3584. typedef CntrFeatures UdCounterFeatures;
  3585. typedef struct DeviceEventHandler {
  3586. void (BDAQCALL *DeviceEvent)(void *obj, void *sender, DeviceEventArgs *args);
  3587. } DeviceEventHandler;
  3588. typedef struct DeviceEventListener {
  3589. DeviceEventHandler const *vtbl;
  3590. }DeviceEventListener;
  3591. typedef struct BfdAiEventHandler {
  3592. void (BDAQCALL *BfdAiEvent)(void *obj, void *sender, BfdAiEventArgs *args);
  3593. } BfdAiEventHandler;
  3594. typedef struct BfdAiEventListener {
  3595. BfdAiEventHandler const *vtbl;
  3596. } BfdAiEventListener;
  3597. typedef struct BfdAoEventHandler {
  3598. void (BDAQCALL *BfdAoEvent)(void *obj, void *sender, BfdAoEventArgs *args);
  3599. } BfdAoEventHandler;
  3600. typedef struct BfdAoEventListener {
  3601. BfdAoEventHandler const *vtbl;
  3602. } BfdAoEventListener;
  3603. typedef struct DiSnapEventHandler {
  3604. void (BDAQCALL *DiSnapEvent)(void *obj, void *sender, DiSnapEventArgs *args);
  3605. } DiSnapEventHandler;
  3606. typedef struct DiSnapEventListener {
  3607. DiSnapEventHandler const *vtbl;
  3608. } DiSnapEventListener;
  3609. typedef struct CntrEventHandler {
  3610. void (BDAQCALL *CntrEvent)(void *obj, void *sender, CntrEventArgs *args);
  3611. } CntrEventHandler;
  3612. typedef struct CntrEventListener {
  3613. CntrEventHandler const *vtbl;
  3614. } CntrEventListener;
  3615. typedef struct UdCntrEventHandler {
  3616. void (BDAQCALL *UdCntrEvent)(void *obj, void *sender, UdCntrEventArgs *args);
  3617. } UdCntrEventHandler;
  3618. typedef struct UdCntrEventListener {
  3619. UdCntrEventHandler const *vtbl;
  3620. } UdCntrEventListener;
  3621. BDAQINL void BDAQCALL xxxCtrl_OnDeviceEvent(void *sender, DeviceEventArgs *args, void *userParam)
  3622. {
  3623. ((DeviceEventListener *)userParam)->vtbl->DeviceEvent(userParam, sender, args);
  3624. }
  3625. BDAQINL void BDAQCALL xxxCtrl_OnBfdAiEvent(void *sender, BfdAiEventArgs *args, void *userParam)
  3626. {
  3627. ((BfdAiEventListener *)userParam)->vtbl->BfdAiEvent(userParam, sender, args);
  3628. }
  3629. BDAQINL void BDAQCALL xxxCtrl_OnBfdAoEvent(void *sender, BfdAoEventArgs *args, void *userParam)
  3630. {
  3631. ((BfdAoEventListener *)userParam)->vtbl->BfdAoEvent(userParam, sender, args);
  3632. }
  3633. BDAQINL void BDAQCALL xxxCtrl_OnDiSnapEvent(void *sender, DiSnapEventArgs *args, void *userParam)
  3634. {
  3635. ((DiSnapEventListener *)userParam)->vtbl->DiSnapEvent(userParam, sender, args);
  3636. }
  3637. BDAQINL void BDAQCALL xxxCtrl_OnCntrEvent(void *sender, CntrEventArgs *args, void *userParam)
  3638. {
  3639. ((CntrEventListener *)userParam)->vtbl->CntrEvent(userParam, sender, args);
  3640. }
  3641. BDAQINL void BDAQCALL xxxCtrl_OnUdCntrEvent(void *sender, UdCntrEventArgs *args, void *userParam)
  3642. {
  3643. ((UdCntrEventListener *)userParam)->vtbl->UdCntrEvent(userParam, sender, args);
  3644. }
  3645. #else
  3646. class DeviceEventListener
  3647. {
  3648. public:
  3649. virtual void BDAQCALL DeviceEvent(void * sender, DeviceEventArgs * args) = 0;
  3650. };
  3651. class BfdAiEventListener
  3652. {
  3653. public:
  3654. virtual void BDAQCALL BfdAiEvent(void * sender, BfdAiEventArgs * args) = 0;
  3655. };
  3656. class BfdAoEventListener
  3657. {
  3658. public:
  3659. virtual void BDAQCALL BfdAoEvent(void * sender, BfdAoEventArgs * args) = 0;
  3660. };
  3661. class DiSnapEventListener
  3662. {
  3663. public:
  3664. virtual void BDAQCALL DiSnapEvent(void * sender, DiSnapEventArgs * args) = 0;
  3665. };
  3666. class CntrEventListener
  3667. {
  3668. public:
  3669. virtual void BDAQCALL CntrEvent(void * sender, CntrEventArgs * args) = 0;
  3670. };
  3671. class UdCntrEventListener
  3672. {
  3673. public:
  3674. virtual void BDAQCALL UdCntrEvent(void * sender, UdCntrEventArgs * args) = 0;
  3675. };
  3676. BDAQINL void BDAQCALL xxxCtrl_OnDeviceEvent(void *sender, DeviceEventArgs *args, void *userParam)
  3677. {
  3678. ((DeviceEventListener *)userParam)->DeviceEvent(sender, args);
  3679. }
  3680. BDAQINL void BDAQCALL xxxCtrl_OnBfdAiEvent(void *sender, BfdAiEventArgs *args, void *userParam)
  3681. {
  3682. ((BfdAiEventListener *)userParam)->BfdAiEvent(sender, args);
  3683. }
  3684. BDAQINL void BDAQCALL xxxCtrl_OnBfdAoEvent(void *sender, BfdAoEventArgs *args, void *userParam)
  3685. {
  3686. ((BfdAoEventListener *)userParam)->BfdAoEvent(sender, args);
  3687. }
  3688. BDAQINL void BDAQCALL xxxCtrl_OnDiSnapEvent(void *sender, DiSnapEventArgs *args, void *userParam)
  3689. {
  3690. ((DiSnapEventListener *)userParam)->DiSnapEvent(sender, args);
  3691. }
  3692. BDAQINL void BDAQCALL xxxCtrl_OnCntrEvent(void *sender, CntrEventArgs *args, void *userParam)
  3693. {
  3694. ((CntrEventListener *)userParam)->CntrEvent(sender, args);
  3695. }
  3696. BDAQINL void BDAQCALL xxxCtrl_OnUdCntrEvent(void *sender, UdCntrEventArgs *args, void *userParam)
  3697. {
  3698. ((UdCntrEventListener *)userParam)->UdCntrEvent(sender, args);
  3699. }
  3700. #endif
  3701. /*
  3702. For compatible : helper method
  3703. */
  3704. BDAQINL void xxxCtrl_addDeviceEventListener (void *obj, EventId id, DeviceEventListener *listener) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnDeviceEvent, listener); }
  3705. BDAQINL void xxxCtrl_removeDeviceEventListener(void *obj, EventId id, DeviceEventListener *listener) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnDeviceEvent, listener); }
  3706. BDAQINL void xxxCtrl_addBfdAiEventListener (void *obj, EventId id, BfdAiEventListener *listener) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnBfdAiEvent, listener); }
  3707. BDAQINL void xxxCtrl_removeBfdAiEventListener (void *obj, EventId id, BfdAiEventListener *listener) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnBfdAiEvent, listener); }
  3708. BDAQINL void xxxCtrl_addBfdAoEventListener (void *obj, EventId id, BfdAoEventListener *listener) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnBfdAoEvent, listener); }
  3709. BDAQINL void xxxCtrl_removeBfdAoEventListener (void *obj, EventId id, BfdAoEventListener *listener) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnBfdAoEvent, listener); }
  3710. BDAQINL void xxxCtrl_addDiSnapEventListener (void *obj, EventId id, DiSnapEventListener *listener) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnDiSnapEvent, listener); }
  3711. BDAQINL void xxxCtrl_removeDiSnapEventListener(void *obj, EventId id, DiSnapEventListener *listener) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnDiSnapEvent, listener); }
  3712. BDAQINL void xxxCtrl_addCntrEventListener (void *obj, EventId id, CntrEventListener *listener) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnCntrEvent, listener); }
  3713. BDAQINL void xxxCtrl_removeCntrEventListener (void *obj, EventId id, CntrEventListener *listener) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnCntrEvent, listener); }
  3714. BDAQINL void xxxCtrl_addUdCntrEventListener (void *obj, EventId id, UdCntrEventListener *listener) { DaqCtrlBase_addEventHandler ((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnUdCntrEvent, listener); }
  3715. BDAQINL void xxxCtrl_removeUdCntrEventListener(void *obj, EventId id, UdCntrEventListener *listener) { DaqCtrlBase_removeEventHandler((DaqCtrlBase*)obj, id, (DaqEventProc)xxxCtrl_OnUdCntrEvent, listener); }
  3716. BDAQINL ErrorCode xxxCtrl_UpdateProperties(void *obj)
  3717. {
  3718. DeviceCtrl *dev = DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(obj);
  3719. return dev ? DeviceCtrl_Refresh(dev) : ErrorFuncNotInited;
  3720. }
  3721. BDAQINL int32 xxxCntrCtrl_getChannel(void *obj)
  3722. {
  3723. return DAQFN_TV(DNLAPI_CNTR, 35, int32)(obj);
  3724. }
  3725. BDAQINL int32 xxxCntrCtrl_setChannel(void *obj, int32 ch)
  3726. {
  3727. DAQFN_ET(DNLAPI_CNTR, 38, int32)(obj, 1); // set channel count to 1
  3728. return DAQFN_ET(DNLAPI_CNTR, 36, int32)(obj, ch); // set channel start to ch
  3729. }
  3730. BDAQINL int32 EventCounterCtrl_getValue(EventCounterCtrl *obj)
  3731. {
  3732. int32 value = 0;
  3733. EventCounterCtrl_Read(obj, 1, &value);
  3734. return value;
  3735. }
  3736. BDAQINL FmChannel * FreqMeterCtrl_getCHPtr(FreqMeterCtrl *obj)
  3737. {
  3738. IArray *chs = FreqMeterCtrl_getChannels(obj);
  3739. return chs ? (FmChannel *)Array_getItem(chs, xxxCntrCtrl_getChannel(obj)) : NULL;
  3740. }
  3741. BDAQINL FreqMeasureMethod FreqMeterCtrl_getMethod(FreqMeterCtrl *obj)
  3742. {
  3743. FmChannel *ch = FreqMeterCtrl_getCHPtr(obj);
  3744. return ch ? FmChannel_getFmMethod(ch) : AutoAdaptive;
  3745. }
  3746. BDAQINL ErrorCode FreqMeterCtrl_setMethod(FreqMeterCtrl *obj, FreqMeasureMethod value)
  3747. {
  3748. FmChannel *ch = FreqMeterCtrl_getCHPtr(obj);
  3749. return ch ? FmChannel_setFmMethod(ch, value) : ErrorFuncNotInited;
  3750. }
  3751. BDAQINL double FreqMeterCtrl_getCollectionPeriod(FreqMeterCtrl *obj)
  3752. {
  3753. FmChannel *ch = FreqMeterCtrl_getCHPtr(obj);
  3754. return ch ? FmChannel_getCollectionPeriod(ch) : 0;
  3755. }
  3756. BDAQINL ErrorCode FreqMeterCtrl_setCollectionPeriod(FreqMeterCtrl *obj, double value)
  3757. {
  3758. FmChannel *ch = FreqMeterCtrl_getCHPtr(obj);
  3759. return ch ? FmChannel_setCollectionPeriod(ch, value) : ErrorFuncNotInited;
  3760. }
  3761. BDAQINL double FreqMeterCtrl_getValue(FreqMeterCtrl *obj)
  3762. {
  3763. double value = 0.0;
  3764. FreqMeterCtrl_Read(obj, 1, &value);
  3765. return value;
  3766. }
  3767. BDAQINL OsChannel * OneShotCtrl_getCHPtr(OneShotCtrl *obj)
  3768. {
  3769. IArray *chs = OneShotCtrl_getChannels(obj);
  3770. return chs ? (OsChannel *)Array_getItem(chs, xxxCntrCtrl_getChannel(obj)) : NULL;
  3771. }
  3772. BDAQINL int32 OneShotCtrl_getDelayCount(OneShotCtrl *obj)
  3773. {
  3774. OsChannel *ch = OneShotCtrl_getCHPtr(obj);
  3775. return ch ? OsChannel_getDelayCount(ch) : 0;
  3776. }
  3777. BDAQINL ErrorCode OneShotCtrl_setDelayCount(OneShotCtrl *obj, int32 value)
  3778. {
  3779. OsChannel *ch = OneShotCtrl_getCHPtr(obj);
  3780. return ch ? OsChannel_setDelayCount(ch, value) : ErrorFuncNotInited;
  3781. }
  3782. BDAQINL TmrChannel * TimerPulseCtrl_getCHPtr(TimerPulseCtrl *obj)
  3783. {
  3784. IArray *chs = TimerPulseCtrl_getChannels(obj);
  3785. return chs ? (TmrChannel *)Array_getItem(chs, xxxCntrCtrl_getChannel(obj)) : NULL;
  3786. }
  3787. BDAQINL double TimerPulseCtrl_getFrequency(TimerPulseCtrl *obj)
  3788. {
  3789. TmrChannel *ch = TimerPulseCtrl_getCHPtr(obj);
  3790. return ch ? TmrChannel_getFrequency(ch) : 0;
  3791. }
  3792. BDAQINL ErrorCode TimerPulseCtrl_setFrequency(TimerPulseCtrl *obj, double value)
  3793. {
  3794. TmrChannel *ch = TimerPulseCtrl_getCHPtr(obj);
  3795. return ch ? TmrChannel_setFrequency(ch, value) : ErrorFuncNotInited;
  3796. }
  3797. BDAQINL void PwMeterCtrl_getValue(PwMeterCtrl *obj, PulseWidth *width)
  3798. {
  3799. PwMeterCtrl_Read(obj, 1, width);
  3800. }
  3801. BDAQINL PoChannel * PwModulatorCtrl_getCHPtr(PwModulatorCtrl *obj)
  3802. {
  3803. IArray *chs = PwModulatorCtrl_getChannels(obj);
  3804. return chs ? (PoChannel *)Array_getItem(chs, xxxCntrCtrl_getChannel(obj)) : NULL;
  3805. }
  3806. BDAQINL void PwModulatorCtrl_getPulseWidth(PwModulatorCtrl *obj, PulseWidth *width)
  3807. {
  3808. PoChannel *ch = PwModulatorCtrl_getCHPtr(obj);
  3809. if (ch) { PoChannel_getPulseWidth(ch, width); }
  3810. else { width->HiPeriod = width->LoPeriod = 0.0; }
  3811. }
  3812. BDAQINL ErrorCode PwModulatorCtrl_setPulseWidth(PwModulatorCtrl *obj, PulseWidth const *width)
  3813. {
  3814. PoChannel *ch = PwModulatorCtrl_getCHPtr(obj);
  3815. return ch ? PoChannel_setPulseWidth(ch, width) : ErrorFuncNotInited;
  3816. }
  3817. BDAQINL UdChannel * UdCounterCtrl_getCHPtr(UdCounterCtrl *obj)
  3818. {
  3819. int32 ch = xxxCntrCtrl_getChannel(obj);
  3820. IArray *chs = UdCounterCtrl_getChannels(obj);
  3821. if (ch < 0) { return NULL; }
  3822. return chs ? (UdChannel *)Array_getItem(chs, ch) : NULL;
  3823. }
  3824. BDAQINL SignalCountingType UdCounterCtrl_getCountingType(UdCounterCtrl *obj)
  3825. {
  3826. UdChannel *ch = UdCounterCtrl_getCHPtr(obj);
  3827. return ch ? UdChannel_getCountingType(ch) : CountingNone;
  3828. }
  3829. BDAQINL ErrorCode UdCounterCtrl_setCountingType(UdCounterCtrl *obj, SignalCountingType value)
  3830. {
  3831. UdChannel *ch = UdCounterCtrl_getCHPtr(obj);
  3832. return ch ? UdChannel_setCountingType(ch, value) : ErrorFuncNotInited;
  3833. }
  3834. BDAQINL int32 UdCounterCtrl_getInitialValue(UdCounterCtrl *obj)
  3835. {
  3836. UdChannel *ch = UdCounterCtrl_getCHPtr(obj);
  3837. return ch ? UdChannel_getInitialValue(ch) : 0;
  3838. }
  3839. BDAQINL ErrorCode UdCounterCtrl_setInitialValue(UdCounterCtrl *obj, int32 value)
  3840. {
  3841. UdChannel *ch = UdCounterCtrl_getCHPtr(obj);
  3842. return ch ? UdChannel_setInitialValue(ch, value) : ErrorFuncNotInited;
  3843. }
  3844. BDAQINL int32 UdCounterCtrl_getResetTimesByIndex(UdCounterCtrl *obj)
  3845. {
  3846. UdChannel *ch = UdCounterCtrl_getCHPtr(obj);
  3847. return ch ? UdChannel_getResetTimesByIndex(ch) : 0;
  3848. }
  3849. BDAQINL ErrorCode UdCounterCtrl_setResetTimesByIndex(UdCounterCtrl *obj, int32 value)
  3850. {
  3851. UdChannel *ch = UdCounterCtrl_getCHPtr(obj);
  3852. return ch ? UdChannel_setResetTimesByIndex(ch, value) : ErrorFuncNotInited;
  3853. }
  3854. BDAQINL int32 UdCounterCtrl_getValue(UdCounterCtrl *obj)
  3855. {
  3856. int32 value = 0;
  3857. UdCounterCtrl_Read(obj, 1, &value);
  3858. return value;
  3859. }
  3860. /*
  3861. For compatible : Global
  3862. */
  3863. #define AdxInstantAiCtrlCreate InstantAiCtrl_Create
  3864. #define AdxBufferedAiCtrlCreate BufferedAiCtrl_Create
  3865. #define AdxInstantAoCtrlCreate InstantAoCtrl_Create
  3866. #define AdxBufferedAoCtrlCreate BufferedAoCtrl_Create
  3867. #define AdxInstantDiCtrlCreate InstantDiCtrl_Create
  3868. #define AdxInstantDoCtrlCreate InstantDoCtrl_Create
  3869. #define AdxEventCounterCtrlCreate EventCounterCtrl_Create
  3870. #define AdxFreqMeterCtrlCreate FreqMeterCtrl_Create
  3871. #define AdxOneShotCtrlCreate OneShotCtrl_Create
  3872. #define AdxPwMeterCtrlCreate PwMeterCtrl_Create
  3873. #define AdxPwModulatorCtrlCreate PwModulatorCtrl_Create
  3874. #define AdxTimerPulseCtrlCreate TimerPulseCtrl_Create
  3875. #define AdxUdCounterCtrlCreate UdCounterCtrl_Create
  3876. /*
  3877. For compatible : ICollection
  3878. */
  3879. #define ICollection_Dispose Array_Dispose
  3880. #define ICollection_getCount Array_getLength
  3881. #define ICollection_getItem Array_getItem
  3882. /*
  3883. For compatible : NoiseFilterChannel
  3884. */
  3885. #define NoiseFilterChannel_getChannel NosFltChannel_getChannel
  3886. #define NoiseFilterChannel_getEnabled NosFltChannel_getEnabled
  3887. #define NoiseFilterChannel_setEnabled NosFltChannel_setEnabled
  3888. /*
  3889. For compatible : AnalogInputChannel
  3890. */
  3891. #define AnalogInputChannel_getChannel AiChannel_getChannel
  3892. #define AnalogInputChannel_getValueRange AiChannel_getValueRange
  3893. #define AnalogInputChannel_setValueRange AiChannel_setValueRange
  3894. #define AnalogInputChannel_getSignalType AiChannel_getSignalType
  3895. #define AnalogInputChannel_setSignalType AiChannel_setSignalType
  3896. #define AnalogInputChannel_getBurnoutRetType AiChannel_getBurnoutRetType
  3897. #define AnalogInputChannel_setBurnoutRetType AiChannel_setBurnoutRetType
  3898. #define AnalogInputChannel_getBurnoutRetValue AiChannel_getBurnoutRetValue
  3899. #define AnalogInputChannel_setBurnoutRetValue AiChannel_setBurnoutRetValue
  3900. /*
  3901. For compatible : AiFeatures
  3902. */
  3903. #define AiFeatures_getTriggerSupported(x) (AiFeatures_getTriggerCount(x) > 0)
  3904. #define AiFeatures_getTrigger1Supported(x) (AiFeatures_getTriggerCount(x) > 1)
  3905. /*
  3906. For compatible : AnalogChannel
  3907. */
  3908. #define AnalogChannel_getChannel AoChannel_getChannel
  3909. #define AnalogChannel_getValueRange AoChannel_getValueRange
  3910. #define AnalogChannel_setValueRange AoChannel_setValueRange
  3911. /*
  3912. For compatible : PortDirection
  3913. */
  3914. #define PortDirection_getPort DioPort_getPort
  3915. #define PortDirection_getDirection DioPort_getDirection
  3916. #define PortDirection_setDirection DioPort_setDirection
  3917. /*
  3918. For compatible : Counter Capability Indexer
  3919. */
  3920. #define CounterCapabilityIndexer_Dispose CounterIndexer_Dispose
  3921. #define CounterCapabilityIndexer_getCount CounterIndexer_getLength
  3922. #define CounterCapabilityIndexer_getItem CounterIndexer_getItem
  3923. /*
  3924. For compatible :
  3925. */
  3926. #define InstantAiCtrl_getInitialized(obj) (InstantAiCtrl_getState(obj) != Uninited)
  3927. #define InstantAiCtrl_getCanEditProperty(obj) InstantAiCtrl_getInitialized(obj)
  3928. #define InstantAiCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  3929. #define InstantAiCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  3930. #define InstantAiCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  3931. #define InstantAiCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  3932. #define InstantAiCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  3933. #define InstantAiCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  3934. #define InstantAiCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  3935. #define BufferedAiCtrl_getInitialized(obj) (BufferedAiCtrl_getState(obj) != Uninited)
  3936. #define BufferedAiCtrl_getCanEditProperty(obj) BufferedAiCtrl_getInitialized(obj)
  3937. #define BufferedAiCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  3938. #define BufferedAiCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  3939. #define BufferedAiCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  3940. #define BufferedAiCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  3941. #define BufferedAiCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  3942. #define BufferedAiCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  3943. #define BufferedAiCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  3944. #define BufferedAiCtrl_addDataReadyListener(obj, listener) xxxCtrl_addBfdAiEventListener (obj, EvtBufferedAiDataReady, listener)
  3945. #define BufferedAiCtrl_removeDataReadyListener(obj, listener) xxxCtrl_removeBfdAiEventListener (obj, EvtBufferedAiDataReady, listener)
  3946. #define BufferedAiCtrl_addOverrunListener(obj, listener) xxxCtrl_addBfdAiEventListener (obj, EvtBufferedAiOverrun, listener)
  3947. #define BufferedAiCtrl_removeOverrunListener(obj, listener) xxxCtrl_removeBfdAiEventListener (obj, EvtBufferedAiOverrun, listener)
  3948. #define BufferedAiCtrl_addCacheOverflowListener(obj, listener) xxxCtrl_addBfdAiEventListener (obj, EvtBufferedAiCacheOverflow, listener)
  3949. #define BufferedAiCtrl_removeCacheOverflowListener(obj, listener) xxxCtrl_removeBfdAiEventListener (obj, EvtBufferedAiCacheOverflow, listener)
  3950. #define BufferedAiCtrl_addStoppedListener(obj, listener) xxxCtrl_addBfdAiEventListener (obj, EvtBufferedAiStopped, listener)
  3951. #define BufferedAiCtrl_removeStoppedListener(obj, listener) xxxCtrl_removeBfdAiEventListener (obj, EvtBufferedAiStopped, listener)
  3952. #define WaveformAiCtrl_getInitialized(obj) (WaveformAiCtrl_getState(obj) != Uninited)
  3953. #define WaveformAiCtrl_getCanEditProperty(obj) WaveformAiCtrl_getInitialized(obj)
  3954. #define WaveformAiCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  3955. #define InstantAoCtrl_getInitialized(obj) (InstantAoCtrl_getState(obj) != Uninited)
  3956. #define InstantAoCtrl_getCanEditProperty(obj) InstantAoCtrl_getInitialized(obj)
  3957. #define InstantAoCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  3958. #define InstantAoCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  3959. #define InstantAoCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  3960. #define InstantAoCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  3961. #define InstantAoCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  3962. #define InstantAoCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  3963. #define InstantAoCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  3964. #define BufferedAoCtrl_getInitialized(obj) (BufferedAoCtrl_getState(obj) != Uninited)
  3965. #define BufferedAoCtrl_getCanEditProperty(obj) BufferedAoCtrl_getInitialized(obj)
  3966. #define BufferedAoCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  3967. #define BufferedAoCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  3968. #define BufferedAoCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  3969. #define BufferedAoCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  3970. #define BufferedAoCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  3971. #define BufferedAoCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  3972. #define BufferedAoCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  3973. #define BufferedAoCtrl_addDataTransmittedListener(obj, listener) xxxCtrl_addBfdAoEventListener (obj, EvtBufferedAoDataTransmitted, listener)
  3974. #define BufferedAoCtrl_removeDataTransmittedListener(obj, listener) xxxCtrl_removeBfdAoEventListener (obj, EvtBufferedAoDataTransmitted, listener)
  3975. #define BufferedAoCtrl_addUnderrunListener(obj, listener) xxxCtrl_addBfdAoEventListener (obj, EvtBufferedAoUnderrun, listener)
  3976. #define BufferedAoCtrl_removeUnderrunListener(obj, listener) xxxCtrl_removeBfdAoEventListener (obj, EvtBufferedAoUnderrun, listener)
  3977. #define BufferedAoCtrl_addCacheEmptiedListener(obj, listener) xxxCtrl_addBfdAoEventListener (obj, EvtBufferedAoCacheEmptied, listener)
  3978. #define BufferedAoCtrl_removeCacheEmptiedListener(obj, listener) xxxCtrl_removeBfdAoEventListener (obj, EvtBufferedAoCacheEmptied, listener)
  3979. #define BufferedAoCtrl_addTransitStoppedListener(obj, listener) xxxCtrl_addBfdAoEventListener (obj, EvtBufferedAoTransStopped, listener)
  3980. #define BufferedAoCtrl_removeTransitStoppedListener(obj, listener) xxxCtrl_removeBfdAoEventListener (obj, EvtBufferedAoTransStopped, listener)
  3981. #define BufferedAoCtrl_addStoppedListener(obj, listener) xxxCtrl_addBfdAoEventListener (obj, EvtBufferedAoStopped, listener)
  3982. #define BufferedAoCtrl_removeStoppedListener(obj, listener) xxxCtrl_removeBfdAoEventListener (obj, EvtBufferedAoStopped, listener)
  3983. #define InstantDiCtrl_getInitialized(obj) (InstantDiCtrl_getState(obj) != Uninited)
  3984. #define InstantDiCtrl_getCanEditProperty(obj) InstantDiCtrl_getInitialized(obj)
  3985. #define InstantDiCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  3986. #define InstantDiCtrl_getPortDirection(obj) InstantDiCtrl_getPorts(obj)
  3987. #define InstantDiCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  3988. #define InstantDiCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  3989. #define InstantDiCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  3990. #define InstantDiCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  3991. #define InstantDiCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  3992. #define InstantDiCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  3993. #define InstantDiCtrl_addInterruptListener(obj, listener) xxxCtrl_addDiSnapEventListener (obj, EvtDiInterrupt, listener)
  3994. #define InstantDiCtrl_removeInterruptListener(obj, listener) xxxCtrl_removeDiSnapEventListener(obj, EvtDiInterrupt, listener)
  3995. #define InstantDiCtrl_addChangeOfStateListener(obj, listener) xxxCtrl_addDiSnapEventListener (obj, EvtDiStatusChange, listener)
  3996. #define InstantDiCtrl_removeChangeOfStateListener(obj, listener) xxxCtrl_removeDiSnapEventListener(obj, EvtDiStatusChange, listener)
  3997. #define InstantDiCtrl_addPatternMatchListener(obj, listener) xxxCtrl_addDiSnapEventListener (obj, EvtDiPatternMatch, listener)
  3998. #define InstantDiCtrl_removePatternMatchListener(obj, listener) xxxCtrl_removeDiSnapEventListener(obj, EvtDiPatternMatch, listener)
  3999. #define InstantDoCtrl_getInitialized(obj) (InstantDoCtrl_getState(obj) != Uninited)
  4000. #define InstantDoCtrl_getCanEditProperty(obj) InstantDoCtrl_getInitialized(obj)
  4001. #define InstantDoCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  4002. #define InstantDoCtrl_getPortDirection(obj) InstantDoCtrl_getPorts(obj)
  4003. #define InstantDoCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  4004. #define InstantDoCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  4005. #define InstantDoCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  4006. #define InstantDoCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  4007. #define InstantDoCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  4008. #define InstantDoCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  4009. #define EventCounterCtrl_getInitialized(obj) (EventCounterCtrl_getState(obj) != Uninited)
  4010. #define EventCounterCtrl_getCanEditProperty(obj) EventCounterCtrl_getInitialized(obj)
  4011. #define EventCounterCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  4012. #define EventCounterCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  4013. #define EventCounterCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  4014. #define EventCounterCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  4015. #define EventCounterCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  4016. #define EventCounterCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  4017. #define EventCounterCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  4018. #define EventCounterCtrl_getChannel(obj) xxxCntrCtrl_getChannel(obj)
  4019. #define EventCounterCtrl_setChannel(obj, ch) xxxCntrCtrl_setChannel(obj, ch)
  4020. #define FreqMeterCtrl_getInitialized(obj) (FreqMeterCtrl_getState(obj) != Uninited)
  4021. #define FreqMeterCtrl_getCanEditProperty(obj) FreqMeterCtrl_getInitialized(obj)
  4022. #define FreqMeterCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  4023. #define FreqMeterCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  4024. #define FreqMeterCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  4025. #define FreqMeterCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  4026. #define FreqMeterCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  4027. #define FreqMeterCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  4028. #define FreqMeterCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  4029. #define FreqMeterCtrl_getChannel(obj) xxxCntrCtrl_getChannel(obj)
  4030. #define FreqMeterCtrl_setChannel(obj, ch) xxxCntrCtrl_setChannel(obj, ch)
  4031. #define OneShotCtrl_getInitialized(obj) (OneShotCtrl_getState(obj) != Uninited)
  4032. #define OneShotCtrl_getCanEditProperty(obj) OneShotCtrl_getInitialized(obj)
  4033. #define OneShotCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  4034. #define OneShotCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  4035. #define OneShotCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  4036. #define OneShotCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  4037. #define OneShotCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  4038. #define OneShotCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  4039. #define OneShotCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  4040. #define OneShotCtrl_addOneShotListener(obj, listener) xxxCtrl_addCntrEventListener (obj, EvtCntOneShot0, listener)
  4041. #define OneShotCtrl_removeOneShotListener(obj, listener) xxxCtrl_removeCntrEventListener (obj, EvtCntOneShot0, listener)
  4042. #define OneShotCtrl_getChannel(obj) xxxCntrCtrl_getChannel(obj)
  4043. #define OneShotCtrl_setChannel(obj, ch) xxxCntrCtrl_setChannel(obj, ch)
  4044. #define TimerPulseCtrl_getInitialized(obj) (TimerPulseCtrl_getState(obj) != Uninited)
  4045. #define TimerPulseCtrl_getCanEditProperty(obj) TimerPulseCtrl_getInitialized(obj)
  4046. #define TimerPulseCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  4047. #define TimerPulseCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  4048. #define TimerPulseCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  4049. #define TimerPulseCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  4050. #define TimerPulseCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  4051. #define TimerPulseCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  4052. #define TimerPulseCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  4053. #define TimerPulseCtrl_addTimerTickListener(obj, listener) xxxCtrl_addCntrEventListener (obj, EvtCntTimer0, listener)
  4054. #define TimerPulseCtrl_removeTimerTickListener(obj, listener) xxxCtrl_removeCntrEventListener (obj, EvtCntTimer0, listener)
  4055. #define TimerPulseCtrl_getChannel(obj) xxxCntrCtrl_getChannel(obj)
  4056. #define TimerPulseCtrl_setChannel(obj, ch) xxxCntrCtrl_setChannel(obj, ch)
  4057. #define PwMeterCtrl_getInitialized(obj) (PwMeterCtrl_getState(obj) != Uninited)
  4058. #define PwMeterCtrl_getCanEditProperty(obj) PwMeterCtrl_getInitialized(obj)
  4059. #define PwMeterCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  4060. #define PwMeterCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  4061. #define PwMeterCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  4062. #define PwMeterCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  4063. #define PwMeterCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  4064. #define PwMeterCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  4065. #define PwMeterCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  4066. #define PwMeterCtrl_addOverflowListener(obj, listener) xxxCtrl_addCntrEventListener (obj, EvtCntPwmInOverflow0, listener)
  4067. #define PwMeterCtrl_removeOverflowListener(obj, listener) xxxCtrl_removeCntrEventListener (obj, EvtCntPwmInOverflow0, listener)
  4068. #define PwMeterCtrl_getChannel(obj) xxxCntrCtrl_getChannel(obj)
  4069. #define PwMeterCtrl_setChannel(obj, ch) xxxCntrCtrl_setChannel(obj, ch)
  4070. #define PwModulatorCtrl_getInitialized(obj) (PwModulatorCtrl_getState(obj) != Uninited)
  4071. #define PwModulatorCtrl_getCanEditProperty(obj) PwModulatorCtrl_getInitialized(obj)
  4072. #define PwModulatorCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  4073. #define PwModulatorCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  4074. #define PwModulatorCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  4075. #define PwModulatorCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  4076. #define PwModulatorCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  4077. #define PwModulatorCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  4078. #define PwModulatorCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  4079. #define PwModulatorCtrl_getChannel(obj) xxxCntrCtrl_getChannel(obj)
  4080. #define PwModulatorCtrl_setChannel(obj, ch) xxxCntrCtrl_setChannel(obj, ch)
  4081. #define UdCounterCtrl_getInitialized(obj) (UdCounterCtrl_getState(obj) != Uninited)
  4082. #define UdCounterCtrl_getCanEditProperty(obj) UdCounterCtrl_getInitialized(obj)
  4083. #define UdCounterCtrl_UpdateProperties(obj) xxxCtrl_UpdateProperties(obj)
  4084. #define UdCounterCtrl_addRemovedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceRemoved, listener)
  4085. #define UdCounterCtrl_removeRemovedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceRemoved, listener)
  4086. #define UdCounterCtrl_addReconnectedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtDeviceReconnected, listener)
  4087. #define UdCounterCtrl_removeReconnectedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtDeviceReconnected, listener)
  4088. #define UdCounterCtrl_addPropertyChangedListener(obj, listener) xxxCtrl_addDeviceEventListener (obj, EvtPropertyChanged, listener)
  4089. #define UdCounterCtrl_removePropertyChangedListener(obj, listener) xxxCtrl_removeDeviceEventListener(obj, EvtPropertyChanged, listener)
  4090. #define UdCounterCtrl_addUdCntrEventListener(obj, listener) xxxCtrl_addUdCntrEventListener (obj, EvtUdIndex0, listener)
  4091. #define UdCounterCtrl_removeUdCntrEventListener(obj, listener) xxxCtrl_removeUdCntrEventListener(obj, EvtUdIndex0, listener)
  4092. #define UdCounterCtrl_getChannel(obj) xxxCntrCtrl_getChannel(obj)
  4093. #define UdCounterCtrl_setChannel(obj, ch) xxxCntrCtrl_setChannel(obj, ch)
  4094. /*
  4095. For compatible : DI features / DO Features
  4096. */
  4097. #define DiFeatures_getPortProgrammable DioFeatures_getPortProgrammable
  4098. #define DiFeatures_getPortCount DioFeatures_getPortCount
  4099. #define DiFeatures_getPortsType DioFeatures_getPortsType
  4100. #define DiFeatures_getDiSupported DioFeatures_getDiSupported
  4101. #define DiFeatures_getDoSupported DioFeatures_getDoSupported
  4102. #define DiFeatures_getChannelCountMax DioFeatures_getChannelCountMax
  4103. #define DiFeatures_getDataMask DioFeatures_getDiDataMask
  4104. #define DiFeatures_getNoiseFilterSupported DioFeatures_getDiNoiseFilterSupported
  4105. #define DiFeatures_getNoiseFilterOfChannels DioFeatures_getDiNoiseFilterOfChannels
  4106. #define DiFeatures_getNoiseFilterBlockTimeRange DioFeatures_getDiNoiseFilterBlockTimeRange
  4107. #define DiFeatures_getDiintSupported DioFeatures_getDiintSupported
  4108. #define DiFeatures_getDiintGateSupported DioFeatures_getDiintGateSupported
  4109. #define DiFeatures_getDiCosintSupported DioFeatures_getDiCosintSupported
  4110. #define DiFeatures_getDiPmintSupported DioFeatures_getDiPmintSupported
  4111. #define DiFeatures_getDiintTriggerEdges DioFeatures_getDiintTriggerEdges
  4112. #define DiFeatures_getDiintOfChannels DioFeatures_getDiintOfChannels
  4113. #define DiFeatures_getDiintGateOfChannels DioFeatures_getDiintGateOfChannels
  4114. #define DiFeatures_getDiCosintOfPorts DioFeatures_getDiCosintOfPorts
  4115. #define DiFeatures_getDiPmintOfPorts DioFeatures_getDiPmintOfPorts
  4116. #define DiFeatures_getSnapEventSources DioFeatures_getDiSnapEventSources
  4117. #define DoFeatures_getPortProgrammable DioFeatures_getPortProgrammable
  4118. #define DoFeatures_getPortCount DioFeatures_getPortCount
  4119. #define DoFeatures_getPortsType DioFeatures_getPortsType
  4120. #define DoFeatures_getDiSupported DioFeatures_getDiSupported
  4121. #define DoFeatures_getDoSupported DioFeatures_getDoSupported
  4122. #define DoFeatures_getChannelCountMax DioFeatures_getChannelCountMax
  4123. #define DoFeatures_getDataMask DioFeatures_getDoDataMask
  4124. #define DoFeatures_getDoFreezeSignalSources DioFeatures_getDoFreezeSignalSources
  4125. #define DoFeatures_getDoReflectWdtFeedIntervalRange DioFeatures_getDoReflectWdtFeedIntervalRange
  4126. /*
  4127. For compatible : Counter Features
  4128. */
  4129. #define EventCounterFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4130. #define EventCounterFeatures_getResolution CntrFeatures_getResolution
  4131. #define EventCounterFeatures_getDataSize CntrFeatures_getDataSize
  4132. #define EventCounterFeatures_getCapabilities CntrFeatures_getCapabilities
  4133. #define EventCounterFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4134. #define EventCounterFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4135. #define EventCounterFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4136. #define FreqMeterFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4137. #define FreqMeterFeatures_getResolution CntrFeatures_getResolution
  4138. #define FreqMeterFeatures_getDataSize CntrFeatures_getDataSize
  4139. #define FreqMeterFeatures_getCapabilities CntrFeatures_getCapabilities
  4140. #define FreqMeterFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4141. #define FreqMeterFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4142. #define FreqMeterFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4143. #define FreqMeterFeatures_getFmMethods CntrFeatures_getFmMethods
  4144. #define OneShotFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4145. #define OneShotFeatures_getResolution CntrFeatures_getResolution
  4146. #define OneShotFeatures_getDataSize CntrFeatures_getDataSize
  4147. #define OneShotFeatures_getCapabilities CntrFeatures_getCapabilities
  4148. #define OneShotFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4149. #define OneShotFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4150. #define OneShotFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4151. #define OneShotFeatures_getDelayCountRange CntrFeatures_getOsDelayCountRange
  4152. #define TimerPulseFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4153. #define TimerPulseFeatures_getResolution CntrFeatures_getResolution
  4154. #define TimerPulseFeatures_getDataSize CntrFeatures_getDataSize
  4155. #define TimerPulseFeatures_getCapabilities CntrFeatures_getCapabilities
  4156. #define TimerPulseFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4157. #define TimerPulseFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4158. #define TimerPulseFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4159. #define TimerPulseFeatures_getTimerFrequencyRange CntrFeatures_getTmrFrequencyRange
  4160. #define TimerPulseFeatures_getTimerEventSupported(_thiz_) 0
  4161. #define PwMeterFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4162. #define PwMeterFeatures_getResolution CntrFeatures_getResolution
  4163. #define PwMeterFeatures_getDataSize CntrFeatures_getDataSize
  4164. #define PwMeterFeatures_getCapabilities CntrFeatures_getCapabilities
  4165. #define PwMeterFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4166. #define PwMeterFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4167. #define PwMeterFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4168. #define PwMeterFeatures_getPwmCascadeGroup CntrFeatures_getPiCascadeGroup
  4169. #define PwMeterFeatures_getOverflowEventSupported(_thiz_) 0
  4170. #define PwModulatorFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4171. #define PwModulatorFeatures_getResolution CntrFeatures_getResolution
  4172. #define PwModulatorFeatures_getDataSize CntrFeatures_getDataSize
  4173. #define PwModulatorFeatures_getCapabilities CntrFeatures_getCapabilities
  4174. #define PwModulatorFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4175. #define PwModulatorFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4176. #define PwModulatorFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4177. #define PwModulatorFeatures_getHiPeriodRange CntrFeatures_getPoHiPeriodRange
  4178. #define PwModulatorFeatures_getLoPeriodRange CntrFeatures_getPoLoPeriodRange
  4179. #define UdCounterFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4180. #define UdCounterFeatures_getResolution CntrFeatures_getResolution
  4181. #define UdCounterFeatures_getDataSize CntrFeatures_getDataSize
  4182. #define UdCounterFeatures_getCapabilities CntrFeatures_getCapabilities
  4183. #define UdCounterFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4184. #define UdCounterFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4185. #define UdCounterFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4186. #define UdCounterFeatures_getCountingTypes CntrFeatures_getUdCountingTypes
  4187. #define UdCounterFeatures_getInitialValues CntrFeatures_getUdInitialValues
  4188. #define UdCounterFeatures_getSnapEventSources CntrFeatures_getUdSnapEventSources
  4189. #define BufferedEventCounterFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4190. #define BufferedEventCounterFeatures_getResolution CntrFeatures_getResolution
  4191. #define BufferedEventCounterFeatures_getDataSize CntrFeatures_getDataSize
  4192. #define BufferedEventCounterFeatures_getCapabilities CntrFeatures_getCapabilities
  4193. #define BufferedEventCounterFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4194. #define BufferedEventCounterFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4195. #define BufferedEventCounterFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4196. #define BufferedEventCounterFeatures_getTriggerSources CntrFeatures_getTriggerSources
  4197. #define BufferedEventCounterFeatures_getTriggerActions CntrFeatures_getTriggerActions
  4198. #define BufferedEventCounterFeatures_getSamplingClockSources CntrFeatures_getSamplingClockSources
  4199. #define BufferedFreqMeterFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4200. #define BufferedFreqMeterFeatures_getResolution CntrFeatures_getResolution
  4201. #define BufferedFreqMeterFeatures_getDataSize CntrFeatures_getDataSize
  4202. #define BufferedFreqMeterFeatures_getCapabilities CntrFeatures_getCapabilities
  4203. #define BufferedFreqMeterFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4204. #define BufferedFreqMeterFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4205. #define BufferedFreqMeterFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4206. #define BufferedFreqMeterFeatures_getFmMethods CntrFeatures_getFmMethods
  4207. #define BufferedFreqMeterFeatures_getTriggerSources CntrFeatures_getTriggerSources
  4208. #define BufferedFreqMeterFeatures_getTriggerActions CntrFeatures_getTriggerActions
  4209. #define BufferedFreqMeterFeatures_getSamplingClockSources CntrFeatures_getSamplingClockSources
  4210. #define BufferedUdCounterFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4211. #define BufferedUdCounterFeatures_getResolution CntrFeatures_getResolution
  4212. #define BufferedUdCounterFeatures_getDataSize CntrFeatures_getDataSize
  4213. #define BufferedUdCounterFeatures_getCapabilities CntrFeatures_getCapabilities
  4214. #define BufferedUdCounterFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4215. #define BufferedUdCounterFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4216. #define BufferedUdCounterFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4217. #define BufferedUdCounterFeatures_getCountingTypes CntrFeatures_getUdCountingTypes
  4218. #define BufferedUdCounterFeatures_getTriggerSources CntrFeatures_getTriggerSources
  4219. #define BufferedUdCounterFeatures_getTriggerActions CntrFeatures_getTriggerActions
  4220. #define BufferedUdCounterFeatures_getSamplingClockSources CntrFeatures_getSamplingClockSources
  4221. #define BufferedPwModulatorFeatures_getChannelCountMax CntrFeatures_getChannelCountMax
  4222. #define BufferedPwModulatorFeatures_getResolution CntrFeatures_getResolution
  4223. #define BufferedPwModulatorFeatures_getDataSize CntrFeatures_getDataSize
  4224. #define BufferedPwModulatorFeatures_getCapabilities CntrFeatures_getCapabilities
  4225. #define BufferedPwModulatorFeatures_getNoiseFilterSupported CntrFeatures_getNoiseFilterSupported
  4226. #define BufferedPwModulatorFeatures_getNoiseFilterOfChannels CntrFeatures_getNoiseFilterOfChannels
  4227. #define BufferedPwModulatorFeatures_getNoiseFilterBlockTimeRange CntrFeatures_getNoiseFilterBlockTimeRange
  4228. #define BufferedPwModulatorFeatures_getHiPeriodRange CntrFeatures_getPoHiPeriodRange
  4229. #define BufferedPwModulatorFeatures_getLoPeriodRange CntrFeatures_getPoLoPeriodRange
  4230. #define BufferedPwModulatorFeatures_getTriggerSources CntrFeatures_getTriggerSources
  4231. #define BufferedPwModulatorFeatures_getTriggerActions CntrFeatures_getTriggerActions
  4232. #define BufferedPwModulatorFeatures_getSamplingClockSources CntrFeatures_getSamplingClockSources
  4233. /**********************************************************/
  4234. /* */
  4235. /* DAQNAVI CSCL Classes */
  4236. /* */
  4237. /**********************************************************/
  4238. #if defined(__cplusplus) && !defined(_BDAQ_C_INTERFACE)
  4239. #define DAQCLS_DISABLE_CONSTRUCT(Class)\
  4240. Class(const Class &);\
  4241. Class &operator=(const Class &);\
  4242. ~Class();\
  4243. /* ----------------------------------------------------------*/
  4244. /*common classes */
  4245. /* ----------------------------------------------------------*/
  4246. /* Interface Array */
  4247. template<class T>
  4248. class Array
  4249. {
  4250. public:
  4251. void Dispose() { Array_Dispose((IArray *)this); } /*destroy the instance*/
  4252. int32 getLength() { return Array_getLength((IArray *)this); }
  4253. T & getItem(int32 index) { return *(T *) Array_getItem((IArray *)this, index);}
  4254. public: /*for compatible*/
  4255. int32 getCount() { return getLength(); }
  4256. private:
  4257. DAQCLS_DISABLE_CONSTRUCT(Array)
  4258. };
  4259. /*for compatible*/
  4260. #define ICollection Array
  4261. /* Interface ScanChannel */
  4262. class ScanChannel
  4263. {
  4264. public:
  4265. int32 getChannelStart() { return ScanChannel_getChannelStart(this); }
  4266. ErrorCode setChannelStart(int32 value) { return ScanChannel_setChannelStart(this, value); }
  4267. int32 getChannelCount() { return ScanChannel_getChannelCount(this); }
  4268. ErrorCode setChannelCount(int32 value) { return ScanChannel_setChannelCount(this, value); }
  4269. int32 getSamples() { return ScanChannel_getSamples(this); }
  4270. ErrorCode setSamples(int32 value) { return ScanChannel_setSamples(this, value); }
  4271. int32 getIntervalCount() { return ScanChannel_getIntervalCount(this); }
  4272. ErrorCode setIntervalCount(int32 value) { return ScanChannel_setIntervalCount(this, value); }
  4273. private:
  4274. DAQCLS_DISABLE_CONSTRUCT(ScanChannel)
  4275. };
  4276. /* Interface ConvertClock */
  4277. class ConvertClock
  4278. {
  4279. public:
  4280. SignalDrop getSource() { return ConvertClock_getSource(this); }
  4281. ErrorCode setSource(SignalDrop value) { return ConvertClock_setSource(this, value); }
  4282. double getRate() { return ConvertClock_getRate(this); }
  4283. ErrorCode setRate(double value) { return ConvertClock_setRate(this, value); }
  4284. private:
  4285. DAQCLS_DISABLE_CONSTRUCT(ConvertClock)
  4286. };
  4287. /* Interface ScanClock */
  4288. class ScanClock
  4289. {
  4290. public:
  4291. SignalDrop getSource() { return ScanClock_getSource(this); }
  4292. ErrorCode setSource(SignalDrop value) { return ScanClock_setSource(this, value); }
  4293. double getRate() { return ScanClock_getRate(this); }
  4294. ErrorCode setRate(double value) { return ScanClock_setRate(this, value); }
  4295. int32 getScanCount() { return ScanClock_getScanCount(this); }
  4296. ErrorCode setScanCount(int32 value) { return ScanClock_setScanCount(this, value);}
  4297. private:
  4298. DAQCLS_DISABLE_CONSTRUCT(ScanClock)
  4299. };
  4300. /* Interface Trigger */
  4301. class Trigger
  4302. {
  4303. public:
  4304. SignalDrop getSource() { return Trigger_getSource(this); }
  4305. ErrorCode setSource(SignalDrop value) { return Trigger_setSource(this, value); }
  4306. ActiveSignal getEdge() { return Trigger_getEdge(this); }
  4307. ErrorCode setEdge(ActiveSignal value) { return Trigger_setEdge(this, value); }
  4308. double getLevel() { return Trigger_getLevel(this); }
  4309. ErrorCode setLevel(double value) { return Trigger_setLevel(this, value); }
  4310. TriggerAction getAction() { return Trigger_getAction(this); }
  4311. ErrorCode setAction(TriggerAction value) { return Trigger_setAction(this, value); }
  4312. int32 getDelayCount() { return Trigger_getDelayCount(this); }
  4313. ErrorCode setDelayCount(int32 value) { return Trigger_setDelayCount(this, value); }
  4314. double getHysteresisIndex() { return Trigger_getHysteresisIndex(this); }
  4315. ErrorCode setHysteresisIndex(double value) { return Trigger_setHysteresisIndex(this, value); }
  4316. FilterType getFilterType() { return Trigger_getFilterType(this); }
  4317. ErrorCode setFilterType(FilterType value) { return Trigger_setFilterType(this, value); }
  4318. double getFilterCutoffFreq() { return Trigger_getFilterCutoffFreq(this); }
  4319. ErrorCode setFilterCutoffFreq(double value) { return Trigger_setFilterCutoffFreq(this, value);}
  4320. private:
  4321. DAQCLS_DISABLE_CONSTRUCT(Trigger)
  4322. };
  4323. /*Interface Conversion*/
  4324. class Conversion
  4325. {
  4326. public:
  4327. SignalDrop getClockSource() { return Conversion_getClockSource(this); }
  4328. ErrorCode setClockSource(SignalDrop value) { return Conversion_setClockSource(this, value); }
  4329. double getClockRate() { return Conversion_getClockRate(this); }
  4330. ErrorCode setClockRate(double value) { return Conversion_setClockRate(this, value); }
  4331. int32 getChannelStart() { return Conversion_getChannelStart(this); }
  4332. ErrorCode setChannelStart(int32 value) { return Conversion_setChannelStart(this, value);}
  4333. int32 getChannelCount() { return Conversion_getChannelCount(this); }
  4334. ErrorCode setChannelCount(int32 value) { return Conversion_setChannelCount(this, value);}
  4335. void getChannelMap(int32 count, int8 *chMap) { Conversion_getChannelMap(this, count, chMap);}
  4336. ErrorCode setChannelMap(int32 count, int8 *chMap) { return Conversion_setChannelMap(this, count, chMap);}
  4337. private:
  4338. DAQCLS_DISABLE_CONSTRUCT(Conversion)
  4339. };
  4340. /*Interface Record*/
  4341. class Record
  4342. {
  4343. public:
  4344. int32 getSectionLength() { return Record_getSectionLength(this); }
  4345. ErrorCode setSectionLength(int32 value) { return Record_setSectionLength(this, value);}
  4346. int32 getSectionCount() { return Record_getSectionCount(this); }
  4347. ErrorCode setSectionCount(int32 value) { return Record_setSectionCount(this, value); }
  4348. int32 getCycles() { return Record_getCycles(this); }
  4349. ErrorCode setCycles(int32 value) { return Record_setCycles(this, value); }
  4350. private:
  4351. DAQCLS_DISABLE_CONSTRUCT(Record)
  4352. };
  4353. /* Interface NosFltChannel */
  4354. class NosFltChannel
  4355. {
  4356. public:
  4357. int32 getChannel() { return NosFltChannel_getChannel(this); }
  4358. bool getEnabled() { return !!NosFltChannel_getEnabled(this); }
  4359. ErrorCode setEnabled(bool value) { return NosFltChannel_setEnabled(this, value); }
  4360. private:
  4361. DAQCLS_DISABLE_CONSTRUCT(NosFltChannel)
  4362. };
  4363. typedef NosFltChannel NoiseFilterChannel; /*for compatible*/
  4364. /* Interface ScanPort */
  4365. class ScanPort
  4366. {
  4367. public:
  4368. int32 getPortStart() { return ScanPort_getPortStart(this); }
  4369. ErrorCode setPortStart(int32 value) { return ScanPort_setPortStart(this, value); }
  4370. int32 getPortCount() { return ScanPort_getPortCount(this); }
  4371. ErrorCode setPortCount(int32 value) { return ScanPort_setPortCount(this, value); }
  4372. void getPortMap(int32 count, int8 *portMap) { ScanPort_getPortMap(this, count, portMap);}
  4373. ErrorCode setPortMap(int32 count, int8 *portMap) { return ScanPort_setPortMap(this, count, portMap);}
  4374. int32 getSectionLength() { return ScanPort_getSectionLength(this); }
  4375. ErrorCode setSectionLength(int32 value) { return ScanPort_setSectionLength(this, value); }
  4376. int32 getSectionCount() { return ScanPort_getSectionCount(this); }
  4377. ErrorCode setSectionCount(int32 value) { return ScanPort_setSectionCount(this, value); }
  4378. int32 getCycles() { return ScanPort_getCycles(this); }
  4379. ErrorCode setCycles(int32 value) { return ScanPort_setCycles(this, value); }
  4380. private:
  4381. DAQCLS_DISABLE_CONSTRUCT(ScanPort)
  4382. };
  4383. /* ----------------------------------------------------------*/
  4384. /*device ctrl class */
  4385. /* ----------------------------------------------------------*/
  4386. /* Interface DeviceCtrl */
  4387. class DeviceCtrl
  4388. {
  4389. /*event*/
  4390. void addEventHandler(EventId id, DeviceEventProc proc, void *userParam) { DeviceCtrl_addEventHandler(this, id, proc, userParam); }
  4391. void removeEventHandler(EventId id, DeviceEventProc proc, void *userParam) { DeviceCtrl_removeEventHandler(this, id, proc, userParam);}
  4392. public:
  4393. /*method*/
  4394. ErrorCode Refresh() { return DeviceCtrl_Refresh(this); }
  4395. ErrorCode ReadRegister(int32 space, int32 offset, int32 length, void *data) { return DeviceCtrl_ReadRegister(this, space, offset, length, data); }
  4396. ErrorCode WriteRegister(int32 space, int32 offset, int32 length, void *data){ return DeviceCtrl_WriteRegister(this, space, offset, length, data); }
  4397. ErrorCode ReadPrivateRegion(int32 signature, int32 length, uint8 *data) { return DeviceCtrl_ReadPrivateRegion(this, signature, length, data); }
  4398. ErrorCode WritePrivateRegion(int32 signature, int32 length, uint8 *data) { return DeviceCtrl_WritePrivateRegion(this, signature, length, data); }
  4399. ErrorCode SynchronizeTimebase() { return DeviceCtrl_SynchronizeTimebase(this); }
  4400. double CalculateAbsoluteTime(double const &relativeTime) { return DeviceCtrl_CalculateAbsoluteTime(this, relativeTime); }
  4401. /*property*/
  4402. int32 getDeviceNumber() { return DeviceCtrl_getDeviceNumber(this); }
  4403. ErrorCode getDescription(int32 length, wchar_t *desc) { return DeviceCtrl_getDescription(this, length, desc); }
  4404. ErrorCode setDescription(int32 length, wchar_t *desc) { return DeviceCtrl_setDescription(this, length, desc); }
  4405. AccessMode getAccessMode() { return DeviceCtrl_getAccessMode(this); }
  4406. ProductId getProductId() { return DeviceCtrl_getProductId(this); }
  4407. int32 getBoardId() { return DeviceCtrl_getBoardId(this); }
  4408. ErrorCode setBoardId(int32 value) { return DeviceCtrl_setBoardId(this, value); }
  4409. ErrorCode getBoardVersion(int32 length, wchar_t *ver) { return DeviceCtrl_getBoardVersion(this, length, ver); }
  4410. ErrorCode getDriverVersion(int32 length, wchar_t *ver) { return DeviceCtrl_getDriverVersion(this, length, ver); }
  4411. ErrorCode getDllVersion(int32 length, wchar_t *ver) { return DeviceCtrl_getDllVersion(this, length, ver); }
  4412. ErrorCode getLocation(int32 length, wchar_t *loc) { return DeviceCtrl_getLocation(this, length, loc); }
  4413. int32 getPrivateRegionLength() { return DeviceCtrl_getPrivateRegionLength(this); }
  4414. int32 getHotResetPreventable() { return DeviceCtrl_getHotResetPreventable(this); }
  4415. int32 getBusSlot() { return DeviceCtrl_getBusSlot(this); }
  4416. Array<int64>* getBaseAddresses() { return (Array<int64>*)DeviceCtrl_getBaseAddresses(this); }
  4417. Array<int32>* getInterrupts() { return (Array<int32>*)DeviceCtrl_getInterrupts(this); }
  4418. Array<TerminalBoard>* getSupportedTerminalBoard() { return (Array<TerminalBoard>*)DeviceCtrl_getSupportedTerminalBoard(this); }
  4419. Array<EventId>* getSupportedEvents() { return (Array<EventId>*)DeviceCtrl_getSupportedEvents(this); }
  4420. int32 getSupportedScenarios() { return DeviceCtrl_getSupportedScenarios(this); }
  4421. HANDLE getDevice() { return DeviceCtrl_getDevice(this); }
  4422. TerminalBoard getTerminalBoard() { return DeviceCtrl_getTerminalBoard(this); }
  4423. ErrorCode setTerminalBoard(TerminalBoard board) { return DeviceCtrl_setTerminalBoard(this, board); }
  4424. ErrorCode setLocateEnabled(bool value) { return DeviceCtrl_setLocateEnabled(this, value); }
  4425. static Array<DeviceTreeNode>* getInstalledDevices() { return (Array<DeviceTreeNode>*)DeviceCtrl_getInstalledDevices(); }
  4426. /*HW specific properties*/
  4427. // Byte[]
  4428. ErrorCode getHwSpecific(wchar_t *name, int32 &size, uint8 buffer[]) { return DeviceCtrl_getHwSpecific(this, name, &size, buffer); }
  4429. ErrorCode setHwSpecific(wchar_t *name, int32 size, uint8 buffer[]) { return DeviceCtrl_setHwSpecific(this, name, size, buffer); }
  4430. // I32
  4431. ErrorCode getHwSpecific(wchar_t *name, int32 &value)
  4432. {
  4433. int32 size = sizeof(int32);
  4434. return getHwSpecific(name, size, (uint8*)&value);
  4435. }
  4436. ErrorCode setHwSpecific(wchar_t *name, int32 value)
  4437. {
  4438. return setHwSpecific(name, sizeof(int32), (uint8*)&value);
  4439. }
  4440. // F64
  4441. ErrorCode getHwSpecific(wchar_t *name, double &value)
  4442. {
  4443. int32 size = sizeof(double);
  4444. return getHwSpecific(name, size, (uint8*)&value);
  4445. }
  4446. ErrorCode setHwSpecific(wchar_t *name, double value)
  4447. {
  4448. return setHwSpecific(name, sizeof(double), (uint8*)&value);
  4449. }
  4450. // new: fusion device properties ----------------------------------------------
  4451. Array<ProductId>* getSupportedFusionTypes() { return (Array<ProductId>*)DeviceCtrl_getSupportedFusionTypes(this); }
  4452. // new: programmable pin properties--------------------------------------------
  4453. Array<SignalDrop>* getProgrammableSignals() { return (Array<SignalDrop>*)DeviceCtrl_getProgrammableSignals(this); }
  4454. ErrorCode getProgrammableSignalsDirection(int32 length, SignalDirection dir[]) { return DeviceCtrl_getProgrammableSignalsDirection(this, length, dir); }
  4455. ErrorCode setProgrammableSignalsDirection(int32 length, SignalDirection dir[]) { return DeviceCtrl_setProgrammableSignalsDirection(this, length, dir); }
  4456. double getSignalNoiseFilterBlockTime() { return DeviceCtrl_getSignalNoiseFilterBlockTime(this); }
  4457. ErrorCode setSignalNoiseFilterBlockTime(double blkTime) { return DeviceCtrl_setSignalNoiseFilterBlockTime(this, blkTime); }
  4458. // new: features & properties for signal routing--------------------------------
  4459. Array<SignalDrop>* getRtSignalEndpoints() { return (Array<SignalDrop>*)DeviceCtrl_getRtSignalEndpoints(this); }
  4460. Array<SignalDrop>* getRtEndpointXSupportedSources(SignalDrop rep) { return (Array<SignalDrop>*)DeviceCtrl_getRtEndpointXSupportedSources(this, rep); }
  4461. SignalDrop getRtEndpointXSource(SignalDrop rep) { return DeviceCtrl_getRtEndpointXSource(this, rep); }
  4462. ErrorCode setRtEndpointXSource(SignalDrop rep, SignalDrop source) { return DeviceCtrl_setRtEndpointXSource(this, rep, source); }
  4463. public:
  4464. /*Create an independent device ctrl if necessary. Note: Use 'dispose' to free the object*/
  4465. static DeviceCtrl * Create(int32 devNumber, wchar_t const *desc, AccessMode mode) { return DeviceCtrl_Create(devNumber, desc, mode); }
  4466. void Dispose(void) { DeviceCtrl_Dispose(this); }
  4467. public: /*helpers*/
  4468. void addRemovedHandler(DeviceEventProc proc, void *userParam) { DeviceCtrl_addEventHandler (this, EvtDeviceRemoved, proc, userParam); }
  4469. void removeRemovedHandler(DeviceEventProc proc, void *userParam) { DeviceCtrl_removeEventHandler(this, EvtDeviceRemoved, proc, userParam); }
  4470. void addReconnectedHandler(DeviceEventProc proc, void *userParam) { DeviceCtrl_addEventHandler (this, EvtDeviceReconnected, proc, userParam);}
  4471. void removeReconnectedHandler(DeviceEventProc proc, void *userParam) { DeviceCtrl_removeEventHandler(this, EvtDeviceReconnected, proc, userParam);}
  4472. void addPropertyChangedHandler(DeviceEventProc proc, void *userParam) { DeviceCtrl_addEventHandler (this, EvtPropertyChanged, proc, userParam); }
  4473. void removePropertyChangedHandler(DeviceEventProc proc, void *userParam) { DeviceCtrl_removeEventHandler(this, EvtPropertyChanged, proc, userParam); }
  4474. private:
  4475. DAQCLS_DISABLE_CONSTRUCT(DeviceCtrl)
  4476. };
  4477. /* ----------------------------------------------------------*/
  4478. /*daq ctrl base class */
  4479. /* ----------------------------------------------------------*/
  4480. /* Interface DaqCtrlBase */
  4481. class DaqCtrlBase
  4482. {
  4483. public:
  4484. /*DAQ Control Common Method*/
  4485. ErrorCode LoadProfile(wchar_t const *fileName) { return DAQFN_ET(DNLAPI_BASE, 98, wchar_t const *)(this, fileName); }
  4486. void Cleanup() { DAQFN_VV(DNLAPI_BASE, 83)(this); } /*release the resources allocated.*/
  4487. void Dispose() { DAQFN_VV(DNLAPI_BASE, 84)(this); } /*destroy the instance*/
  4488. /*DAQ Control Common Property*/
  4489. void getSelectedDevice(DeviceInformation &x) { DAQFN_VT(DNLAPI_BASE, 85, DeviceInformation*)(this, &x); }
  4490. ErrorCode setSelectedDevice(DeviceInformation const &x) { return DAQFN_ET(DNLAPI_BASE, 86, DeviceInformation const*)(this, &x); }
  4491. ControlState getState() { return DAQFN_TV(DNLAPI_BASE, 87, ControlState)(this); }
  4492. DeviceCtrl* getDevice() { return DAQFN_TV(DNLAPI_BASE, 88, DeviceCtrl *)(this); }
  4493. HANDLE getModule() { return DAQFN_TV(DNLAPI_BASE, 93, HANDLE)(this); }
  4494. Array<DeviceTreeNode>* getSupportedDevices() { return DAQFN_TV(DNLAPI_BASE, 89, Array<DeviceTreeNode>*)(this); }
  4495. Array<AccessMode>* getSupportedModes() { return DAQFN_TV(DNLAPI_BASE, 90, Array<AccessMode>*) (this); }
  4496. public: /*For compatible ONLY!*/
  4497. void addRemovedListener(DeviceEventListener & listener) { xxxCtrl_addDeviceEventListener (this, EvtDeviceRemoved, &listener); }
  4498. void removeRemovedListener(DeviceEventListener & listener) { xxxCtrl_removeDeviceEventListener(this, EvtDeviceRemoved, &listener); }
  4499. void addReconnectedListener(DeviceEventListener & listener) { xxxCtrl_addDeviceEventListener (this, EvtDeviceReconnected, &listener); }
  4500. void removeReconnectedListener(DeviceEventListener & listener) { xxxCtrl_removeDeviceEventListener(this, EvtDeviceReconnected, &listener); }
  4501. void addPropertyChangedListener(DeviceEventListener & listener) { xxxCtrl_addDeviceEventListener (this, EvtPropertyChanged, &listener); }
  4502. void removePropertyChangedListener(DeviceEventListener & listener) { xxxCtrl_removeDeviceEventListener(this, EvtPropertyChanged, &listener); }
  4503. bool getInitialized() { return getState() != Uninited; }
  4504. bool getCanEditProperty() { return getState() != Uninited; }
  4505. ErrorCode UpdateProperties() { return getDevice()->Refresh(); }
  4506. private:
  4507. DAQCLS_DISABLE_CONSTRUCT(DaqCtrlBase)
  4508. };
  4509. /* ----------------------------------------------------------*/
  4510. /*AI related classes */
  4511. /* ----------------------------------------------------------*/
  4512. /* Interface CjcSetting */
  4513. class CjcSetting
  4514. {
  4515. public:
  4516. int32 getChannel() { return CjcSetting_getChannel(this); }
  4517. ErrorCode setChannel(int32 ch) { return CjcSetting_setChannel(this, ch); }
  4518. double getValue() { return CjcSetting_getValue(this); }
  4519. ErrorCode setValue(double value) { return CjcSetting_setValue(this, value); }
  4520. double getUpdateFreq() { return CjcSetting_getUpdateFreq(this); }
  4521. ErrorCode setUpdateFreq(double value) { return CjcSetting_setUpdateFreq(this, value); }
  4522. private:
  4523. DAQCLS_DISABLE_CONSTRUCT(CjcSetting)
  4524. };
  4525. /* Interface AiChannel */
  4526. class AiChannel
  4527. {
  4528. public:
  4529. int32 getChannel() { return AiChannel_getChannel(this); }
  4530. ValueRange getValueRange() { return AiChannel_getValueRange(this); }
  4531. ErrorCode setValueRange(ValueRange value) { return AiChannel_setValueRange(this, value); }
  4532. AiSignalType getSignalType() { return AiChannel_getSignalType(this); }
  4533. ErrorCode setSignalType(AiSignalType value) { return AiChannel_setSignalType(this, value); }
  4534. BurnoutRetType getBurnoutRetType() { return AiChannel_getBurnoutRetType(this); }
  4535. ErrorCode setBurnoutRetType(BurnoutRetType value) { return AiChannel_setBurnoutRetType(this, value); }
  4536. double getBurnoutRetValue() { return AiChannel_getBurnoutRetValue(this); }
  4537. ErrorCode setBurnoutRetValue(double value) { return AiChannel_setBurnoutRetValue(this, value); }
  4538. double getBurnShortRetValue() { return AiChannel_getBurnShortRetValue(this); }
  4539. ErrorCode setBurnShortRetValue(double value) { return AiChannel_setBurnShortRetValue(this, value); }
  4540. /**/
  4541. FilterType getFilterType() { return AiChannel_getFilterType(this); }
  4542. ErrorCode setFilterType(FilterType value) { return AiChannel_setFilterType(this, value); }
  4543. double getFilterCutoffFreq() { return AiChannel_getFilterCutoffFreq(this); }
  4544. ErrorCode setFilterCutoffFreq(double value) { return AiChannel_setFilterCutoffFreq(this, value); }
  4545. double getFilterCutoffFreq1() { return AiChannel_getFilterCutoffFreq1(this); }
  4546. ErrorCode setFilterCutoffFreq1(double value) { return AiChannel_setFilterCutoffFreq1(this, value); }
  4547. int32 getLogicalNumber() { return AiChannel_getLogicalNumber(this); }
  4548. CouplingType getCouplingType() { return AiChannel_getCouplingType(this); }
  4549. ErrorCode setCouplingType(CouplingType value) { return AiChannel_setCouplingType(this, value); }
  4550. IepeType getIepeType() { return AiChannel_getIepeType(this); }
  4551. ErrorCode setIepeType(IepeType value) { return AiChannel_setIepeType(this, value); }
  4552. ImpedanceType getImpedanceType() { return AiChannel_getImpedanceType(this); }
  4553. ErrorCode setImpedanceType(ImpedanceType value) { return AiChannel_setImpedanceType(this, value); }
  4554. ErrorCode getSensorDescription(int32 &size, wchar_t desc[]) { return AiChannel_getSensorDescription(this, &size, desc);}
  4555. ErrorCode setSensorDescription(int32 size, wchar_t desc[]) { return AiChannel_setSensorDescription(this, size, desc);}
  4556. ErrorCode getScaleTable(int32 &size, MapFuncPiece table[]) { return AiChannel_getScaleTable(this, &size, table); }
  4557. ErrorCode setScaleTable(int32 size, MapFuncPiece table[]) { return AiChannel_setScaleTable(this, size, table); }
  4558. private:
  4559. DAQCLS_DISABLE_CONSTRUCT(AiChannel)
  4560. };
  4561. typedef Array<AiChannel> AiChannelCollection; /*for compatible*/
  4562. typedef AiChannel AnalogInputChannel; /*for compatible*/
  4563. /* Interface AiFeatures */
  4564. class AiFeatures
  4565. {
  4566. public:
  4567. /*ADC features*/
  4568. int32 getResolution() { return AiFeatures_getResolution(this); }
  4569. int32 getDataSize() { return AiFeatures_getDataSize(this); }
  4570. int32 getDataMask() { return AiFeatures_getDataMask(this); }
  4571. double getTimestampResolution() { return AiFeatures_getTimestampResolution(this); }
  4572. /*channel features*/
  4573. int32 getChannelCountMax() { return AiFeatures_getChannelCountMax(this); }
  4574. bool getOverallValueRange() { return !!AiFeatures_getOverallValueRange(this); }
  4575. Array<ValueRange>* getValueRanges() { return (Array<ValueRange>* )AiFeatures_getValueRanges(this); }
  4576. Array<BurnoutRetType>* getBurnoutReturnTypes() { return (Array<BurnoutRetType>*)AiFeatures_getBurnoutReturnTypes(this);}
  4577. Array<AiSignalType>* getConnectionTypes() { return (Array<AiSignalType>*)AiFeatures_getConnectionTypes(this); }
  4578. bool getOverallConnection() { return !!AiFeatures_getOverallConnection(this); }
  4579. Array<CouplingType>* getCouplingTypes() { return (Array<CouplingType>*)AiFeatures_getCouplingTypes(this); }
  4580. Array<IepeType>* getIepeTypes() { return (Array<IepeType>*)AiFeatures_getIepeTypes(this); }
  4581. Array<ImpedanceType>* getImpedanceTypes() { return (Array<ImpedanceType>*)AiFeatures_getImpedanceTypes(this); }
  4582. /*filter*/
  4583. Array<FilterType>* getFilterTypes() { return (Array<FilterType>*)AiFeatures_getFilterTypes(this); }
  4584. void getFilterCutoffFreqRange(MathInterval &x) { AiFeatures_getFilterCutoffFreqRange(this, &x); }
  4585. void getFilterCutoffFreq1Range(MathInterval &x) { AiFeatures_getFilterCutoffFreq1Range(this, &x);}
  4586. /*CJC features*/
  4587. bool getThermoSupported() { return !!AiFeatures_getThermoSupported(this); }
  4588. Array<int32>* getCjcChannels() { return (Array<int32>*)AiFeatures_getCjcChannels(this);}
  4589. /*buffered ai->basic features*/
  4590. bool getBufferedAiSupported() { return !!AiFeatures_getBufferedAiSupported(this); }
  4591. SamplingMethod getSamplingMethod() { return AiFeatures_getSamplingMethod(this); }
  4592. int32 getChannelStartBase() { return AiFeatures_getChannelStartBase(this); }
  4593. int32 getChannelCountBase() { return AiFeatures_getChannelCountBase(this); }
  4594. /*buffered ai->conversion clock features*/
  4595. Array<SignalDrop>* getConvertClockSources() { return (Array<SignalDrop>*)AiFeatures_getConvertClockSources(this);}
  4596. void getConvertClockRange(MathInterval &x) { AiFeatures_getConvertClockRange(this, &x); }
  4597. /*buffered ai->burst scan*/
  4598. bool getBurstScanSupported() { return !!AiFeatures_getBurstScanSupported(this); }
  4599. Array<SignalDrop>* getScanClockSources() { return (Array<SignalDrop>*)AiFeatures_getScanClockSources(this); }
  4600. void getScanClockRange(MathInterval &x) { AiFeatures_getScanClockRange(this, &x); }
  4601. int32 getScanCountMax() { return AiFeatures_getScanCountMax(this); }
  4602. /*buffered ai->trigger features*/
  4603. bool getRetriggerable() { return !!AiFeatures_getRetriggerable(this); }
  4604. int32 getTriggerCount() { return AiFeatures_getTriggerCount(this); }
  4605. Array<FilterType>* getTriggerFilterTypes() { return (Array<FilterType>*)AiFeatures_getTriggerFilterTypes(this);}
  4606. void getTriggerFilterCutoffFreq(MathInterval &x){ AiFeatures_getTriggerFilterCutoffFreq(this, &x); }
  4607. /*trigger 0*/
  4608. Array<TriggerAction>* getTriggerActions() { return (Array<TriggerAction>*)AiFeatures_getTriggerActions(this); }
  4609. void getTriggerDelayRange(MathInterval &x) { AiFeatures_getTriggerDelayRange(this, &x); }
  4610. Array<SignalDrop>* getTriggerSources() { return (Array<SignalDrop>*)AiFeatures_getTriggerSources(this); }
  4611. ValueRange getTriggerSourceVrg() { return AiFeatures_getTriggerSourceVrg(this); }
  4612. double getTriggerHysteresisIndexMax() { return AiFeatures_getTriggerHysteresisIndexMax(this); }
  4613. int32 getTriggerHysteresisIndexStep() { return AiFeatures_getTriggerHysteresisIndexStep(this); }
  4614. /*trigger 1*/
  4615. Array<TriggerAction>* getTrigger1Actions() { return (Array<TriggerAction>*)AiFeatures_getTrigger1Actions(this); }
  4616. void getTrigger1DelayRange(MathInterval &x) { AiFeatures_getTrigger1DelayRange(this, &x); }
  4617. Array<SignalDrop>* getTrigger1Sources() { return (Array<SignalDrop>*)AiFeatures_getTrigger1Sources(this); }
  4618. ValueRange getTrigger1SourceVrg() { return AiFeatures_getTrigger1SourceVrg(this); }
  4619. double getTrigger1HysteresisIndexMax() { return AiFeatures_getTrigger1HysteresisIndexMax(this); }
  4620. int32 getTrigger1HysteresisIndexStep() { return AiFeatures_getTrigger1HysteresisIndexStep(this); }
  4621. /*trigger 2*/
  4622. Array<TriggerAction>* getTrigger2Actions() { return (Array<TriggerAction>*)AiFeatures_getTrigger2Actions(this); }
  4623. void getTrigger2DelayRange(MathInterval &x) { AiFeatures_getTrigger2DelayRange(this, &x); }
  4624. Array<SignalDrop>* getTrigger2Sources() { return (Array<SignalDrop>*)AiFeatures_getTrigger2Sources(this); }
  4625. ValueRange getTrigger2SourceVrg() { return AiFeatures_getTrigger2SourceVrg(this); }
  4626. double getTrigger2HysteresisIndexMax() { return AiFeatures_getTrigger2HysteresisIndexMax(this); }
  4627. int32 getTrigger2HysteresisIndexStep() { return AiFeatures_getTrigger2HysteresisIndexStep(this); }
  4628. /*trigger 3*/
  4629. Array<TriggerAction>* getTrigger3Actions() { return (Array<TriggerAction>*)AiFeatures_getTrigger3Actions(this); }
  4630. void getTrigger3DelayRange(MathInterval &x) { AiFeatures_getTrigger3DelayRange(this, &x); }
  4631. Array<SignalDrop>* getTrigger3Sources() { return (Array<SignalDrop>*)AiFeatures_getTrigger3Sources(this); }
  4632. ValueRange getTrigger3SourceVrg() { return AiFeatures_getTrigger3SourceVrg(this); }
  4633. double getTrigger3HysteresisIndexMax() { return AiFeatures_getTrigger3HysteresisIndexMax(this); }
  4634. int32 getTrigger3HysteresisIndexStep() { return AiFeatures_getTrigger3HysteresisIndexStep(this); }
  4635. /*sensor features*/
  4636. Array<MeasureType>* getMeasureTypes() { return (Array<MeasureType>*)AiFeatures_getMeasureTypes(this); }
  4637. Array<int32>* getBridgeResistances() { return (Array<int32>*)AiFeatures_getBridgeResistances(this); }
  4638. void getExcitingVoltageRange(MathInterval &x) { AiFeatures_getExcitingVoltageRange(this, &x); }
  4639. public: /*for compatible*/
  4640. MathInterval getConvertClockRange()
  4641. {
  4642. MathInterval x;
  4643. getConvertClockRange(x);
  4644. return x;
  4645. }
  4646. MathInterval getScanClockRange()
  4647. {
  4648. MathInterval x;
  4649. getScanClockRange(x);
  4650. return x;
  4651. }
  4652. MathInterval getTriggerDelayRange()
  4653. {
  4654. MathInterval x;
  4655. getTriggerDelayRange(x);
  4656. return x;
  4657. }
  4658. MathInterval getTrigger1DelayRange()
  4659. {
  4660. MathInterval x;
  4661. getTrigger1DelayRange(x);
  4662. return x;
  4663. }
  4664. bool getTriggerSupported()
  4665. {
  4666. return getTriggerCount() > 0;
  4667. }
  4668. bool getTrigger1Supported()
  4669. {
  4670. return getTriggerCount() > 1;
  4671. }
  4672. AiChannelType getChannelType()
  4673. {
  4674. return AiFeatures_getChannelType(this);
  4675. }
  4676. private:
  4677. DAQCLS_DISABLE_CONSTRUCT(AiFeatures)
  4678. };
  4679. /* Interface AiCtrlBase */
  4680. class AiCtrlBase : public DaqCtrlBase
  4681. {
  4682. public:
  4683. /*AI Control Common Method*/
  4684. /*AI Control Common Property*/
  4685. AiFeatures* getFeatures() { return DAQFN_TV(DNLAPI_AI, 58, AiFeatures *)(this); }
  4686. Array<AiChannel>* getChannels() { return DAQFN_TV(DNLAPI_AI, 59, Array<AiChannel>*)(this); }
  4687. int32 getChannelCount() { return DAQFN_TV(DNLAPI_AI, 60, int32 )(this); }
  4688. ErrorCode runSensorCalibration(int32 ch, CalibrationData const *data) { return DAQFN_ETT(DNLAPI_AI, 111, int32, CalibrationData const*)(this, ch, data); }
  4689. private:
  4690. DAQCLS_DISABLE_CONSTRUCT(AiCtrlBase)
  4691. };
  4692. /* Interface InstantAiCtrl */
  4693. class InstantAiCtrl : public AiCtrlBase
  4694. {
  4695. public:
  4696. /*Instant AI Method & Property*/
  4697. CjcSetting* getCjc() { return InstantAiCtrl_getCjc(this); }
  4698. ErrorCode ReadAny(int32 chStart, int32 chCount, void *dataRaw, double *dataScaled) { return InstantAiCtrl_ReadAny(this, chStart, chCount, dataRaw, dataScaled); }
  4699. double getAutoConvertClockRate() { return InstantAiCtrl_getAutoConvertClockRate(this); }
  4700. ErrorCode setAutoConvertClockRate(double value) { return InstantAiCtrl_setAutoConvertClockRate(this, value); }
  4701. int32 getAutoConvertChannelStart() { return InstantAiCtrl_getAutoConvertChannelStart(this); }
  4702. ErrorCode setAutoConvertChannelStart(int32 value) { return InstantAiCtrl_setAutoConvertChannelStart(this, value); }
  4703. int32 getAutoConvertChannelCount() { return InstantAiCtrl_getAutoConvertChannelCount(this); }
  4704. ErrorCode setAutoConvertChannelCount(int32 value) { return InstantAiCtrl_setAutoConvertChannelCount(this, value); }
  4705. public:
  4706. /*Create an InstantAictrl. Note: Use 'dispose' to free the object*/
  4707. static InstantAiCtrl * Create(void) { return InstantAiCtrl_Create(); }
  4708. public: /*helpers*/
  4709. ErrorCode Read(int32 ch, double &dataScaled) { return ReadAny(ch, 1, NULL, &dataScaled); }
  4710. ErrorCode Read(int32 ch, int16 &dataRaw) { return ReadAny(ch, 1, &dataRaw, NULL); }
  4711. ErrorCode Read(int32 ch, int32 &dataRaw) { return ReadAny(ch, 1, &dataRaw, NULL); }
  4712. ErrorCode Read(int32 chStart, int32 chCount, double dataScaled[]) { return ReadAny(chStart, chCount, NULL, dataScaled); }
  4713. ErrorCode Read(int32 chStart, int32 chCount, int16 dataRaw[], double dataScaled[]) { return ReadAny(chStart, chCount, dataRaw, dataScaled);}
  4714. ErrorCode Read(int32 chStart, int32 chCount, int32 dataRaw[], double dataScaled[]) { return ReadAny(chStart, chCount, dataRaw, dataScaled);}
  4715. private:
  4716. DAQCLS_DISABLE_CONSTRUCT(InstantAiCtrl)
  4717. };
  4718. /* Interface BufferedAiCtrl */
  4719. class BufferedAiCtrl : public AiCtrlBase
  4720. {
  4721. public:
  4722. /*Buffered AI Method*/
  4723. ErrorCode Prepare() { return BufferedAiCtrl_Prepare(this); }
  4724. ErrorCode RunOnce() { return BufferedAiCtrl_RunOnce(this); }
  4725. ErrorCode Start() { return BufferedAiCtrl_Start(this); }
  4726. ErrorCode Stop() { return BufferedAiCtrl_Stop(this); }
  4727. void Release() { BufferedAiCtrl_Release(this); }
  4728. bool GetBufferStatus(int32 *count, int32 *offset) { return !!BufferedAiCtrl_GetBufferStatus(this, count, offset);}
  4729. ErrorCode GetData(int32 count, int16 rawData[]) { return BufferedAiCtrl_GetDataI16(this, count, rawData); }
  4730. ErrorCode GetData(int32 count, int32 rawData[]) { return BufferedAiCtrl_GetDataI32(this, count, rawData); }
  4731. ErrorCode GetData(int32 count, double scaledData[]) { return BufferedAiCtrl_GetDataF64(this, count, scaledData); }
  4732. /*Buffered AI Property*/
  4733. void* getBuffer() { return BufferedAiCtrl_getBuffer(this); }
  4734. int32 getBufferCapacity() { return BufferedAiCtrl_getBufferCapacity(this); }
  4735. ScanChannel* getScanChannel() { return BufferedAiCtrl_getScanChannel(this); }
  4736. ConvertClock* getConvertClock() { return BufferedAiCtrl_getConvertClock(this); }
  4737. ScanClock* getScanClock() { return BufferedAiCtrl_getScanClock(this); }
  4738. Trigger* getTrigger() { return BufferedAiCtrl_getTrigger(this); }
  4739. Trigger* getTrigger1() { return BufferedAiCtrl_getTrigger1(this); }
  4740. Trigger* getTrigger2() { return BufferedAiCtrl_getTrigger2(this); }
  4741. Trigger* getTrigger3() { return BufferedAiCtrl_getTrigger3(this); }
  4742. bool getStreaming() { return !!BufferedAiCtrl_getStreaming(this); }
  4743. ErrorCode setStreaming(bool value) { return BufferedAiCtrl_setStreaming(this, value);}
  4744. public:
  4745. /*Create an BufferedAiCtrl. Note: Use 'dispose' to free the object*/
  4746. static BufferedAiCtrl * Create(void) { return BufferedAiCtrl_Create(); }
  4747. public: /*helpers*/
  4748. /*event*/
  4749. void addDataReadyHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiDataReady, (DaqEventProc)proc, userParam);}
  4750. void removeDataReadyHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiDataReady, (DaqEventProc)proc, userParam);}
  4751. void addOverrunHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiOverrun, (DaqEventProc)proc, userParam);}
  4752. void removeOverrunHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiOverrun, (DaqEventProc)proc, userParam);}
  4753. void addCacheOverflowHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiCacheOverflow, (DaqEventProc)proc, userParam);}
  4754. void removeCacheOverflowHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiCacheOverflow, (DaqEventProc)proc, userParam);}
  4755. void addStoppedHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiStopped, (DaqEventProc)proc, userParam);}
  4756. void removeStoppedHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiStopped, (DaqEventProc)proc, userParam);}
  4757. void addBurnOutHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiBurnOut, (DaqEventProc)proc, userParam);}
  4758. void removeBurnOutHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiBurnOut, (DaqEventProc)proc, userParam);}
  4759. public: /*For compatible ONLY!*/
  4760. void addDataReadyListener(BfdAiEventListener & listener) { BufferedAiCtrl_addDataReadyListener(this, &listener); }
  4761. void removeDataReadyListener(BfdAiEventListener & listener) { BufferedAiCtrl_removeDataReadyListener(this, &listener); }
  4762. void addOverrunListener(BfdAiEventListener & listener) { BufferedAiCtrl_addOverrunListener(this, &listener); }
  4763. void removeOverrunListener(BfdAiEventListener & listener) { BufferedAiCtrl_removeOverrunListener(this, &listener); }
  4764. void addCacheOverflowListener(BfdAiEventListener & listener) { BufferedAiCtrl_addCacheOverflowListener(this, &listener); }
  4765. void removeCacheOverflowListener(BfdAiEventListener & listener) { BufferedAiCtrl_removeCacheOverflowListener(this, &listener); }
  4766. void addStoppedListener(BfdAiEventListener & listener) { BufferedAiCtrl_addStoppedListener(this, &listener); }
  4767. void removeStoppedListener(BfdAiEventListener & listener) { BufferedAiCtrl_removeStoppedListener(this, &listener); }
  4768. private:
  4769. DAQCLS_DISABLE_CONSTRUCT(BufferedAiCtrl)
  4770. };
  4771. /* Interface WaveformAiCtrl */
  4772. class WaveformAiCtrl : public AiCtrlBase
  4773. {
  4774. public:
  4775. /*Waveform AI Method*/
  4776. ErrorCode Prepare() { return WaveformAiCtrl_Prepare(this); }
  4777. ErrorCode Start() { return WaveformAiCtrl_Start(this); }
  4778. ErrorCode Stop() { return WaveformAiCtrl_Stop(this); }
  4779. void Release() { WaveformAiCtrl_Release(this); }
  4780. bool GetBufferStatus(int32 *count, int32 *offset) { return !!WaveformAiCtrl_GetBufferStatus(this, count, offset);}
  4781. ErrorCode GetData(int32 count, int16 rawData[],
  4782. int32 timeout = 0, int32 *returned = NULL, double *startTime = NULL, int32 *markCount = NULL, DataMark *markBuf = NULL)
  4783. {
  4784. return WaveformAiCtrl_GetDataI16(this, count, rawData, timeout, returned, startTime, markCount, markBuf);
  4785. }
  4786. ErrorCode GetData(int32 count, int32 rawData[],
  4787. int32 timeout = 0, int32 *returned = NULL, double *startTime = NULL, int32 *markCount = NULL, DataMark *markBuf = NULL)
  4788. {
  4789. return WaveformAiCtrl_GetDataI32(this, count, rawData, timeout, returned, startTime, markCount, markBuf);
  4790. }
  4791. ErrorCode GetData(int32 count, double scaledData[],
  4792. int32 timeout = 0, int32 *returned = NULL, double *startTime = NULL, int32 *markCount = NULL, DataMark *markBuf = NULL)
  4793. {
  4794. return WaveformAiCtrl_GetDataF64(this, count, scaledData, timeout, returned, startTime, markCount, markBuf);
  4795. }
  4796. /*Waveform AI Property*/
  4797. void* getBuffer() { return WaveformAiCtrl_getBuffer(this); }
  4798. int32 getBufferCapacity() { return WaveformAiCtrl_getBufferCapacity(this); }
  4799. Conversion* getConversion() { return WaveformAiCtrl_getConversion(this); }
  4800. Record* getRecord() { return WaveformAiCtrl_getRecord(this); }
  4801. Trigger* getTrigger() { return WaveformAiCtrl_getTrigger(this); }
  4802. Trigger* getTrigger1() { return WaveformAiCtrl_getTrigger1(this); }
  4803. Trigger* getTrigger2() { return WaveformAiCtrl_getTrigger2(this); }
  4804. Trigger* getTrigger3() { return WaveformAiCtrl_getTrigger3(this); }
  4805. public:
  4806. /*Create an WaveformAiCtrl. Note: Use 'dispose' to free the object*/
  4807. static WaveformAiCtrl * Create(void) { return WaveformAiCtrl_Create(); }
  4808. public: /*helpers*/
  4809. /*event*/
  4810. void addDataReadyHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiDataReady, (DaqEventProc)proc, userParam);}
  4811. void removeDataReadyHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiDataReady, (DaqEventProc)proc, userParam);}
  4812. void addOverrunHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiOverrun, (DaqEventProc)proc, userParam);}
  4813. void removeOverrunHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiOverrun, (DaqEventProc)proc, userParam);}
  4814. void addCacheOverflowHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiCacheOverflow, (DaqEventProc)proc, userParam);}
  4815. void removeCacheOverflowHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiCacheOverflow, (DaqEventProc)proc, userParam);}
  4816. void addStoppedHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiStopped, (DaqEventProc)proc, userParam);}
  4817. void removeStoppedHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiStopped, (DaqEventProc)proc, userParam);}
  4818. void addBurnOutHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiBurnOut, (DaqEventProc)proc, userParam);}
  4819. void removeBurnOutHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiBurnOut, (DaqEventProc)proc, userParam);}
  4820. void addTimeStampOverrunHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiTimeStampOverrun, (DaqEventProc)proc, userParam);}
  4821. void removeTimeStampOverrunHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiTimeStampOverrun, (DaqEventProc)proc, userParam);}
  4822. void addTimeStampCacheOverflowHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiTimeStampCacheOverflow, (DaqEventProc)proc, userParam);}
  4823. void removeTimeStampCacheOverflowHandler(BfdAiEventProc proc, void *userParam){ DaqCtrlBase_removeEventHandler(this, EvtBufferedAiTimeStampCacheOverflow, (DaqEventProc)proc, userParam);}
  4824. void addMarkOverrunHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAiMarkOverrun, (DaqEventProc)proc, userParam);}
  4825. void removeMarkOverrunHandler(BfdAiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAiMarkOverrun, (DaqEventProc)proc, userParam);}
  4826. private:
  4827. DAQCLS_DISABLE_CONSTRUCT(WaveformAiCtrl)
  4828. };
  4829. /* ----------------------------------------------------------*/
  4830. /*AO related classes */
  4831. /* ----------------------------------------------------------*/
  4832. /* Interface AoChannel */
  4833. class AoChannel
  4834. {
  4835. public:
  4836. int32 getChannel() { return AoChannel_getChannel(this); }
  4837. ValueRange getValueRange() { return AoChannel_getValueRange(this); }
  4838. ErrorCode setValueRange(ValueRange value) { return AoChannel_setValueRange(this, value); }
  4839. double getExtRefBipolar() { return AoChannel_getExtRefBipolar(this); }
  4840. ErrorCode setExtRefBipolar(double value) { return AoChannel_setExtRefBipolar(this, value); }
  4841. double getExtRefUnipolar() { return AoChannel_getExtRefUnipolar(this); }
  4842. ErrorCode setExtRefUnipolar(double value) { return AoChannel_setExtRefUnipolar(this, value);}
  4843. ErrorCode getScaleTable(int32 &size, MapFuncPiece table[]) { return AoChannel_getScaleTable(this, &size, table); }
  4844. ErrorCode setScaleTable(int32 size, MapFuncPiece table[]) { return AoChannel_setScaleTable(this, size, table); }
  4845. private:
  4846. DAQCLS_DISABLE_CONSTRUCT(AoChannel)
  4847. };
  4848. typedef Array<AoChannel> AoChannelCollection; /*for compatible*/
  4849. typedef AoChannel AnalogChannel; /*for compatible*/
  4850. /* Interface AoFeatures */
  4851. class AoFeatures
  4852. {
  4853. public:
  4854. /*DAC features*/
  4855. int32 getResolution() { return AoFeatures_getResolution(this); }
  4856. int32 getDataSize() { return AoFeatures_getDataSize(this); }
  4857. int32 getDataMask() { return AoFeatures_getDataMask(this); }
  4858. /*channel features*/
  4859. int32 getChannelCountMax() { return AoFeatures_getChannelCountMax(this); }
  4860. Array<ValueRange>* getValueRanges() { return (Array<ValueRange>*)AoFeatures_getValueRanges(this); }
  4861. bool getExternalRefAntiPolar() { return !!AoFeatures_getExternalRefAntiPolar(this); }
  4862. void getExternalRefRange(MathInterval &x) { AoFeatures_getExternalRefRange(this, &x); }
  4863. /*buffered ao->basic features*/
  4864. bool getBufferedAoSupported() { return !!AoFeatures_getBufferedAoSupported(this); }
  4865. SamplingMethod getSamplingMethod() { return AoFeatures_getSamplingMethod(this); }
  4866. int32 getChannelStartBase() { return AoFeatures_getChannelStartBase(this); }
  4867. int32 getChannelCountBase() { return AoFeatures_getChannelCountBase(this); }
  4868. /*buffered ao->conversion clock features*/
  4869. Array<SignalDrop>* getConvertClockSources() { return (Array<SignalDrop>*)AoFeatures_getConvertClockSources(this);}
  4870. void getConvertClockRange(MathInterval &x) { AoFeatures_getConvertClockRange(this, &x); }
  4871. /*buffered ao->trigger features*/
  4872. int32 getTriggerCount() { return AoFeatures_getTriggerCount(this); }
  4873. bool getRetriggerable() { return !!AoFeatures_getRetriggerable(this); }
  4874. /*trigger 0*/
  4875. Array<SignalDrop>* getTriggerSources() { return (Array<SignalDrop>*)AoFeatures_getTriggerSources(this); }
  4876. Array<TriggerAction>* getTriggerActions() { return (Array<TriggerAction>*)AoFeatures_getTriggerActions(this);}
  4877. void getTriggerDelayRange(MathInterval &x) { AoFeatures_getTriggerDelayRange(this, &x); }
  4878. /*trigger 1*/
  4879. Array<SignalDrop>* getTrigger1Sources() { return (Array<SignalDrop>*)AoFeatures_getTrigger1Sources(this); }
  4880. Array<TriggerAction>* getTrigger1Actions() { return (Array<TriggerAction>*)AoFeatures_getTrigger1Actions(this);}
  4881. void getTrigger1DelayRange(MathInterval &x) { AoFeatures_getTrigger1DelayRange(this, &x); }
  4882. public: /*for compatible*/
  4883. MathInterval getExternalRefRange()
  4884. {
  4885. MathInterval x;
  4886. getExternalRefRange(x);
  4887. return x;
  4888. }
  4889. MathInterval getConvertClockRange()
  4890. {
  4891. MathInterval x;
  4892. getConvertClockRange(x);
  4893. return x;
  4894. }
  4895. MathInterval getTriggerDelayRange()
  4896. {
  4897. MathInterval x;
  4898. getTriggerDelayRange(x);
  4899. return x;
  4900. }
  4901. MathInterval getTrigger1DelayRange()
  4902. {
  4903. MathInterval x;
  4904. getTrigger1DelayRange(x);
  4905. return x;
  4906. }
  4907. bool getTriggerSupported()
  4908. {
  4909. return getTriggerCount() > 0;
  4910. }
  4911. bool getTrigger1Supported()
  4912. {
  4913. return getTriggerCount() > 1;
  4914. }
  4915. private:
  4916. DAQCLS_DISABLE_CONSTRUCT(AoFeatures)
  4917. };
  4918. /* Interface AoCtrlBase */
  4919. class AoCtrlBase : public DaqCtrlBase
  4920. {
  4921. public:
  4922. /*AI Control Common Method*/
  4923. /*AO Control Common Property*/
  4924. AoFeatures* getFeatures() { return DAQFN_TV(DNLAPI_AO, 25, AoFeatures *)(this); }
  4925. Array<AoChannel>* getChannels() { return DAQFN_TV(DNLAPI_AO, 26, Array<AoChannel>*)(this);}
  4926. int32 getChannelCount() { return DAQFN_TV(DNLAPI_AO, 27, int32 )(this); }
  4927. public: /*For compatible ONLY!*/
  4928. /*Please use AoChannel's properties instead. */
  4929. double getExtRefValueForUnipolar() { return DAQFN_TV(DNLAPI_AO, 28, double)(this); }
  4930. ErrorCode setExtRefValueForUnipolar(double value) { return DAQFN_ET(DNLAPI_AO, 29, double)(this, value); }
  4931. double getExtRefValueForBipolar() { return DAQFN_TV(DNLAPI_AO, 30, double)(this); }
  4932. ErrorCode setExtRefValueForBipolar(double value) { return DAQFN_ET(DNLAPI_AO, 31, double)(this, value); }
  4933. private:
  4934. DAQCLS_DISABLE_CONSTRUCT(AoCtrlBase)
  4935. };
  4936. /* Interface InstantAoCtrl */
  4937. class InstantAoCtrl : public AoCtrlBase
  4938. {
  4939. public:
  4940. /*Instant AO Method*/
  4941. ErrorCode WriteAny(int32 chStart, int32 chCount, void *dataRaw, double *dataScaled) { return InstantAoCtrl_WriteAny(this, chStart, chCount, dataRaw, dataScaled); }
  4942. public:
  4943. /*Create an InstantAoctrl. Note: Use 'dispose' to free the object*/
  4944. static InstantAoCtrl * Create(void) { return InstantAoCtrl_Create(); }
  4945. public: /*helpers*/
  4946. ErrorCode Write(int32 ch, double dataScaled) { return WriteAny(ch, 1, NULL, &dataScaled); }
  4947. ErrorCode Write(int32 ch, int16 dataRaw) { return WriteAny(ch, 1, &dataRaw, NULL); }
  4948. ErrorCode Write(int32 ch, int32 dataRaw) { return WriteAny(ch, 1, &dataRaw, NULL); }
  4949. ErrorCode Write(int32 chStart, int32 chCount, double dataScaled[]) { return WriteAny(chStart, chCount, NULL, dataScaled);}
  4950. ErrorCode Write(int32 chStart, int32 chCount, int16 dataRaw[]) { return WriteAny(chStart, chCount, dataRaw, NULL); }
  4951. ErrorCode Write(int32 chStart, int32 chCount, int32 dataRaw[]) { return WriteAny(chStart, chCount, dataRaw, NULL); }
  4952. private:
  4953. DAQCLS_DISABLE_CONSTRUCT(InstantAoCtrl)
  4954. };
  4955. /* Interface BufferedAoCtrl */
  4956. class BufferedAoCtrl : public AoCtrlBase
  4957. {
  4958. public:
  4959. /*Buffered AO Method*/
  4960. ErrorCode Prepare() { return BufferedAoCtrl_Prepare(this); }
  4961. ErrorCode RunOnce() { return BufferedAoCtrl_RunOnce(this); }
  4962. ErrorCode Start() { return BufferedAoCtrl_Start(this); }
  4963. ErrorCode Stop(int32 action) { return BufferedAoCtrl_Stop(this, action);}
  4964. void Release() { BufferedAoCtrl_Release(this); }
  4965. bool GetBufferStatus(int32 *count, int32 *offset) { return !!BufferedAoCtrl_GetBufferStatus(this, count, offset);}
  4966. ErrorCode SetData(int32 count, int16 rawData[]) { return BufferedAoCtrl_SetDataI16(this, count, rawData); }
  4967. ErrorCode SetData(int32 count, int32 rawData[]) { return BufferedAoCtrl_SetDataI32(this, count, rawData); }
  4968. ErrorCode SetData(int32 count, double scaledData[]) { return BufferedAoCtrl_SetDataF64(this, count, scaledData);}
  4969. /*Buffered AO Property*/
  4970. void* getBuffer() { return BufferedAoCtrl_getBuffer(this); }
  4971. int32 getBufferCapacity() { return BufferedAoCtrl_getBufferCapacity(this); }
  4972. ScanChannel* getScanChannel() { return BufferedAoCtrl_getScanChannel(this); }
  4973. ConvertClock* getConvertClock() { return BufferedAoCtrl_getConvertClock(this); }
  4974. Trigger* getTrigger() { return BufferedAoCtrl_getTrigger(this); }
  4975. Trigger* getTrigger1() { return BufferedAoCtrl_getTrigger1(this); }
  4976. bool getStreaming() { return !!BufferedAoCtrl_getStreaming(this); }
  4977. ErrorCode setStreaming(bool value) { return BufferedAoCtrl_setStreaming(this, value); }
  4978. public:
  4979. /*Create an BufferedAoCtrl. Note: Use 'dispose' to free the object*/
  4980. static BufferedAoCtrl * Create(void) { return BufferedAoCtrl_Create(); }
  4981. public: /*helpers*/
  4982. /*event*/
  4983. void addDataTransmittedHandler(BfdAoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAoDataTransmitted, (DaqEventProc)proc, userParam); }
  4984. void removeDataTransmittedHandler(BfdAoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAoDataTransmitted, (DaqEventProc)proc, userParam); }
  4985. void addUnderrunHandler(BfdAoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAoUnderrun, (DaqEventProc)proc, userParam); }
  4986. void removeUnderrunHandler(BfdAoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAoUnderrun, (DaqEventProc)proc, userParam); }
  4987. void addCacheEmptiedHandler(BfdAoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAoCacheEmptied, (DaqEventProc)proc, userParam); }
  4988. void removeCacheEmptiedHandler(BfdAoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAoCacheEmptied, (DaqEventProc)proc, userParam); }
  4989. void addTransitStoppedHandler(BfdAoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAoTransStopped, (DaqEventProc)proc, userParam); }
  4990. void removeTransitStoppedHandler(BfdAoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAoTransStopped, (DaqEventProc)proc, userParam); }
  4991. void addStoppedHandler(BfdAoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedAoStopped, (DaqEventProc)proc, userParam); }
  4992. void removeStoppedHandler(BfdAoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedAoStopped, (DaqEventProc)proc, userParam); }
  4993. public: /*For compatible ONLY!*/
  4994. void addDataTransmittedListener(BfdAoEventListener & listener) { BufferedAoCtrl_addDataTransmittedListener(this, &listener); }
  4995. void removeDataTransmittedListener(BfdAoEventListener & listener) { BufferedAoCtrl_removeDataTransmittedListener(this, &listener); }
  4996. void addUnderrunListener(BfdAoEventListener & listener) { BufferedAoCtrl_addUnderrunListener(this, &listener); }
  4997. void removeUnderrunListener(BfdAoEventListener & listener) { BufferedAoCtrl_removeUnderrunListener(this, &listener); }
  4998. void addCacheEmptiedListener(BfdAoEventListener & listener) { BufferedAoCtrl_addCacheEmptiedListener(this, &listener); }
  4999. void removeCacheEmptiedListener(BfdAoEventListener & listener) { BufferedAoCtrl_removeCacheEmptiedListener(this, &listener); }
  5000. void addTransitStoppedListener(BfdAoEventListener & listener) { BufferedAoCtrl_addTransitStoppedListener(this, &listener); }
  5001. void removeTransitStoppedListener(BfdAoEventListener & listener) { BufferedAoCtrl_removeTransitStoppedListener(this, &listener); }
  5002. void addStoppedListener(BfdAoEventListener & listener) { BufferedAoCtrl_addStoppedListener(this, &listener); }
  5003. void removeStoppedListener(BfdAoEventListener & listener) { BufferedAoCtrl_removeStoppedListener(this, &listener); }
  5004. private:
  5005. DAQCLS_DISABLE_CONSTRUCT(BufferedAoCtrl)
  5006. };
  5007. /* ----------------------------------------------------------*/
  5008. /*DIO related classes */
  5009. /* ----------------------------------------------------------*/
  5010. /* Interface DioPort */
  5011. class DioPort
  5012. {
  5013. public:
  5014. int32 getPort() { return DioPort_getPort(this); }
  5015. uint8 getDirectionMask() { return DioPort_getDirectionMask(this); }
  5016. ErrorCode setDirectionMask(uint8 value) { return DioPort_setDirectionMask(this, value); }
  5017. /*DI port property*/
  5018. uint8 getDiInversePort() { return DioPort_getDiInversePort(this); }
  5019. ErrorCode setDiInversePort(uint8 value) { return DioPort_setDiInversePort(this, value); }
  5020. uint8 getDiOpenState() { return DioPort_getDiOpenState(this); }
  5021. ErrorCode setDiOpenState(uint8 value) { return DioPort_setDiOpenState(this, value); }
  5022. /*DO port property*/
  5023. uint8 getPresetValue() { return DioPort_getDoPresetValue(this); }
  5024. ErrorCode setPresetValue(uint8 value) { return DioPort_setDoPresetValue(this, value); }
  5025. DoCircuitType getDoCircuitType() { return DioPort_getDoCircuitType(this); }
  5026. ErrorCode setDoCircuitType(DoCircuitType value) { return DioPort_setDoCircuitType(this, value); }
  5027. public: /*For compatible ONLY!*/
  5028. DioPortDir getDirection() { return (DioPortDir)getDirectionMask(); }
  5029. ErrorCode setDirection(DioPortDir value) { return setDirectionMask((uint8)value); }
  5030. private:
  5031. DAQCLS_DISABLE_CONSTRUCT(DioPort)
  5032. };
  5033. typedef DioPort PortDirection; /*for compatible*/
  5034. /* Interface DiintChannel */
  5035. class DiintChannel
  5036. {
  5037. public:
  5038. int32 getChannel() { return DiintChannel_getChannel(this); }
  5039. bool getEnabled() { return !!DiintChannel_getEnabled(this); }
  5040. ErrorCode setEnabled(bool value) { return DiintChannel_setEnabled(this, value); }
  5041. bool getGated() { return !!DiintChannel_getGated(this); }
  5042. ErrorCode setGated(bool value) { return DiintChannel_setGated(this, value); }
  5043. ActiveSignal getTrigEdge() { return DiintChannel_getTrigEdge(this); }
  5044. ErrorCode setTrigEdge(ActiveSignal value) { return DiintChannel_setTrigEdge(this, value); }
  5045. private:
  5046. DAQCLS_DISABLE_CONSTRUCT(DiintChannel)
  5047. };
  5048. /* Interface DiCosintPort */
  5049. class DiCosintPort
  5050. {
  5051. public:
  5052. int32 getPort() { return DiCosintPort_getPort(this); }
  5053. uint8 getMask() { return DiCosintPort_getMask(this); }
  5054. ErrorCode setMask(uint8 value) { return DiCosintPort_setMask(this, value); }
  5055. private:
  5056. DAQCLS_DISABLE_CONSTRUCT(DiCosintPort)
  5057. };
  5058. /* Interface DiPmintPort */
  5059. class DiPmintPort
  5060. {
  5061. public:
  5062. int32 getPort() { return DiPmintPort_getPort(this); }
  5063. uint8 getMask() { return DiPmintPort_getMask(this); }
  5064. ErrorCode setMask(uint8 value) { return DiPmintPort_setMask(this, value); }
  5065. uint8 getPattern() { return DiPmintPort_getPattern(this); }
  5066. ErrorCode setPattern(uint8 value) { return DiPmintPort_setPattern(this, value);}
  5067. private:
  5068. DAQCLS_DISABLE_CONSTRUCT(DiPmintPort)
  5069. };
  5070. /* Interface DioFeatures */
  5071. class DioFeatures
  5072. {
  5073. public:
  5074. /*DIO common*/
  5075. bool getPortProgrammable() { return !!DioFeatures_getPortProgrammable(this); }
  5076. int32 getChannelCountMax() { return DioFeatures_getChannelCountMax(this); }
  5077. int32 getPortCount() { return DioFeatures_getPortCount(this); }
  5078. Array<uint8>* getPortsType() { return (Array<uint8>*)DioFeatures_getPortsType(this); }
  5079. bool getDiSupported() { return !!DioFeatures_getDiSupported(this); }
  5080. bool getDoSupported() { return !!DioFeatures_getDoSupported(this); }
  5081. /*DI features*/
  5082. Array<uint8>* getDiDataMask() { return (Array<uint8>*)DioFeatures_getDiDataMask(this); }
  5083. /*DI noise filter features*/
  5084. bool getDiNoiseFilterSupported() { return !!DioFeatures_getDiNoiseFilterSupported(this); }
  5085. Array<uint8>* getDiNoiseFilterOfChannels() { return (Array<uint8>*)DioFeatures_getDiNoiseFilterOfChannels(this);}
  5086. void getDiNoiseFilterBlockTimeRange(MathInterval &x) { DioFeatures_getDiNoiseFilterBlockTimeRange(this, &x); }
  5087. /*DI interrupt features*/
  5088. bool getDiintSupported() { return !!DioFeatures_getDiintSupported(this); }
  5089. bool getDiintGateSupported() { return !!DioFeatures_getDiintGateSupported(this); }
  5090. bool getDiCosintSupported() { return !!DioFeatures_getDiCosintSupported(this); }
  5091. bool getDiPmintSupported() { return !!DioFeatures_getDiPmintSupported(this); }
  5092. Array<ActiveSignal>* getDiintTriggerEdges() { return (Array<ActiveSignal>*)DioFeatures_getDiintTriggerEdges(this);}
  5093. Array<uint8>* getDiintOfChannels() { return (Array<uint8>*)DioFeatures_getDiintOfChannels(this); }
  5094. Array<uint8>* getDiintGateOfChannels() { return (Array<uint8>*)DioFeatures_getDiintGateOfChannels(this); }
  5095. Array<uint8>* getDiCosintOfPorts() { return (Array<uint8>*)DioFeatures_getDiCosintOfPorts(this); }
  5096. Array<uint8>* getDiPmintOfPorts() { return (Array<uint8>*)DioFeatures_getDiPmintOfPorts(this); }
  5097. Array<EventId>* getDiSnapEventSources() { return (Array<EventId>*)DioFeatures_getDiSnapEventSources(this); }
  5098. /*DO features*/
  5099. Array<uint8>* getDoDataMask() { return (Array<uint8>*)DioFeatures_getDoDataMask(this); }
  5100. Array<SignalDrop>* getDoFreezeSignalSources() { return (Array<SignalDrop>*)DioFeatures_getDoFreezeSignalSources(this); }
  5101. void getDoReflectWdtFeedIntervalRange(MathInterval &x) { DioFeatures_getDoReflectWdtFeedIntervalRange(this, &x); }
  5102. Depository getDoPresetValueDepository() { return DioFeatures_getDoPresetValueDepository(this); }
  5103. Array<DoCircuitType>* getDoCircuitSelectableTypes() { return (Array<DoCircuitType>*)DioFeatures_getDoCircuitSelectableTypes(this); }
  5104. /* buffered dio common */
  5105. int32 getResolution() { return DioFeatures_getResolution(this); }
  5106. int32 getDataSize() { return DioFeatures_getDataSize(this); }
  5107. /*buffered di->basic features*/
  5108. bool getBufferedDiSupported() { return !!DioFeatures_getBufferedDiSupported(this); }
  5109. SamplingMethod getDiSamplingMethod() { return DioFeatures_getDiSamplingMethod(this); }
  5110. /*buffered di->conversion clock features*/
  5111. Array<SignalDrop>* getDiConvertClockSources() { return (Array<SignalDrop>*)DioFeatures_getDiConvertClockSources(this);}
  5112. void getDiConvertClockRange(MathInterval &x) { DioFeatures_getDiConvertClockRange(this, &x); }
  5113. /*buffered di->trigger features*/
  5114. bool getDiRetriggerable() { return !!DioFeatures_getDiRetriggerable(this); }
  5115. int32 getDiTriggerCount() { return DioFeatures_getDiTriggerCount(this); }
  5116. /*trigger 0*/
  5117. Array<TriggerAction>* getDiTriggerActions() { return (Array<TriggerAction>*)DioFeatures_getDiTriggerActions(this); }
  5118. void getDiTriggerDelayRange(MathInterval &x) { DioFeatures_getDiTriggerDelayRange(this, &x); }
  5119. Array<SignalDrop>* getDiTriggerSources() { return (Array<SignalDrop>*)DioFeatures_getDiTriggerSources(this); }
  5120. ValueRange getDiTriggerSourceVrg() { return DioFeatures_getDiTriggerSourceVrg(this); }
  5121. double getDiTriggerHysteresisIndexMax() { return DioFeatures_getDiTriggerHysteresisIndexMax(this); }
  5122. int32 getDiTriggerHysteresisIndexStep() { return DioFeatures_getDiTriggerHysteresisIndexStep(this); }
  5123. /*trigger 1*/
  5124. Array<TriggerAction>* getDiTrigger1Actions() { return (Array<TriggerAction>*)DioFeatures_getDiTrigger1Actions(this); }
  5125. void getDiTrigger1DelayRange(MathInterval &x) { DioFeatures_getDiTrigger1DelayRange(this, &x); }
  5126. Array<SignalDrop>* getDiTrigger1Sources() { return (Array<SignalDrop>*)DioFeatures_getDiTrigger1Sources(this); }
  5127. ValueRange getDiTrigger1SourceVrg() { return DioFeatures_getDiTrigger1SourceVrg(this); }
  5128. double getDiTrigger1HysteresisIndexMax() { return DioFeatures_getDiTrigger1HysteresisIndexMax(this); }
  5129. int32 getDiTrigger1HysteresisIndexStep() { return DioFeatures_getDiTrigger1HysteresisIndexStep(this); }
  5130. /*buffered do->basic features*/
  5131. bool getBufferedDoSupported() { return !!DioFeatures_getBufferedDoSupported(this); }
  5132. SamplingMethod getDoSamplingMethod() { return DioFeatures_getDoSamplingMethod(this); }
  5133. /*buffered do->conversion clock features*/
  5134. Array<SignalDrop>* getDoConvertClockSources() { return (Array<SignalDrop>*)DioFeatures_getDoConvertClockSources(this);}
  5135. void getDoConvertClockRange(MathInterval &x) { DioFeatures_getDoConvertClockRange(this, &x); }
  5136. /*buffered do->trigger features*/
  5137. bool getDoRetriggerable() { return !!DioFeatures_getDoRetriggerable(this); }
  5138. int32 getDoTriggerCount() { return DioFeatures_getDoTriggerCount(this); }
  5139. /*trigger 0*/
  5140. Array<TriggerAction>* getDoTriggerActions() { return (Array<TriggerAction>*)DioFeatures_getDoTriggerActions(this); }
  5141. void getDoTriggerDelayRange(MathInterval &x) { DioFeatures_getDoTriggerDelayRange(this, &x); }
  5142. Array<SignalDrop>* getDoTriggerSources() { return (Array<SignalDrop>*)DioFeatures_getDoTriggerSources(this); }
  5143. ValueRange getDoTriggerSourceVrg() { return DioFeatures_getDoTriggerSourceVrg(this); }
  5144. double getDoTriggerHysteresisIndexMax() { return DioFeatures_getDoTriggerHysteresisIndexMax(this); }
  5145. int32 getDoTriggerHysteresisIndexStep() { return DioFeatures_getDoTriggerHysteresisIndexStep(this); }
  5146. /*trigger 1*/
  5147. Array<TriggerAction>* getDoTrigger1Actions() { return (Array<TriggerAction>*)DioFeatures_getDoTrigger1Actions(this); }
  5148. void getDoTrigger1DelayRange(MathInterval &x) { DioFeatures_getDoTrigger1DelayRange(this, &x); }
  5149. Array<SignalDrop>* getDoTrigger1Sources() { return (Array<SignalDrop>*)DioFeatures_getDoTrigger1Sources(this); }
  5150. ValueRange getDoTrigger1SourceVrg() { return DioFeatures_getDoTrigger1SourceVrg(this); }
  5151. double getDoTrigger1HysteresisIndexMax() { return DioFeatures_getDoTrigger1HysteresisIndexMax(this); }
  5152. int32 getDoTrigger1HysteresisIndexStep() { return DioFeatures_getDoTrigger1HysteresisIndexStep(this); }
  5153. public: /*for compatible*/
  5154. MathInterval getDiNoiseFilterBlockTimeRange()
  5155. {
  5156. MathInterval x;
  5157. getDiNoiseFilterBlockTimeRange(x);
  5158. return x;
  5159. }
  5160. MathInterval getDoReflectWdtFeedIntervalRange()
  5161. {
  5162. MathInterval x;
  5163. getDoReflectWdtFeedIntervalRange(x);
  5164. return x;
  5165. }
  5166. MathInterval getDiConvertClockRange()
  5167. {
  5168. MathInterval x;
  5169. getDiConvertClockRange(x);
  5170. return x;
  5171. }
  5172. MathInterval getDiTriggerDelayRange()
  5173. {
  5174. MathInterval x;
  5175. getDiTriggerDelayRange(x);
  5176. return x;
  5177. }
  5178. MathInterval getDiTrigger1DelayRange()
  5179. {
  5180. MathInterval x;
  5181. getDiTrigger1DelayRange(x);
  5182. return x;
  5183. }
  5184. MathInterval getDoConvertClockRange()
  5185. {
  5186. MathInterval x;
  5187. getDoConvertClockRange(x);
  5188. return x;
  5189. }
  5190. MathInterval getDoTriggerDelayRange()
  5191. {
  5192. MathInterval x;
  5193. getDoTriggerDelayRange(x);
  5194. return x;
  5195. }
  5196. MathInterval getDoTrigger1DelayRange()
  5197. {
  5198. MathInterval x;
  5199. getDoTrigger1DelayRange(x);
  5200. return x;
  5201. }
  5202. bool getDiTriggerSupported() { return getDiTriggerCount() > 0; }
  5203. bool getDiTrigger1Supported() { return getDiTriggerCount() > 1; }
  5204. bool getDoTriggerSupported() { return getDoTriggerCount() > 0; }
  5205. bool getDoTrigger1Supported() { return getDoTriggerCount() > 1; }
  5206. Array<uint8>* getDataMask() { return (Array<uint8>*)DioFeatures_getDataMask(this); }
  5207. bool getNoiseFilterSupported() { return getDiNoiseFilterSupported(); }
  5208. Array<uint8>* getNoiseFilterOfChannels() { return getDiNoiseFilterOfChannels(); }
  5209. MathInterval getNoiseFilterBlockTimeRange() { return getDiNoiseFilterBlockTimeRange(); }
  5210. Array<int32>* getSnapEventSources() { return (Array<int32>*)getDiSnapEventSources(); }
  5211. private:
  5212. DAQCLS_DISABLE_CONSTRUCT(DioFeatures)
  5213. };
  5214. typedef DioFeatures DiFeatures; /*for compatible*/
  5215. typedef DioFeatures DoFeatures; /*for compatible*/
  5216. /* Interface DioCtrlBase */
  5217. class DioCtrlBase : public DaqCtrlBase
  5218. {
  5219. public:
  5220. /*DIO Control Common Property*/
  5221. DioFeatures* getFeatures() { return DAQFN_TV(DNLAPI_DIO, 45, DioFeatures *)(this); }
  5222. int32 getPortCount() { return DAQFN_TV(DNLAPI_DIO, 46, int32)(this); }
  5223. Array<DioPort>* getPorts() { return DAQFN_TV(DNLAPI_DIO, 47, Array<DioPort>*)(this);}
  5224. public: /*for compatible*/
  5225. Array<DioPort>* getPortDirection() { return getPorts(); }
  5226. private:
  5227. DAQCLS_DISABLE_CONSTRUCT(DioCtrlBase)
  5228. };
  5229. /* Interface InstantDiCtrl */
  5230. class InstantDiCtrl : public DioCtrlBase
  5231. {
  5232. public:
  5233. /*Instant DI Method*/
  5234. ErrorCode ReadAny(int32 portStart, int32 portCount, uint8 data[]) { return InstantDiCtrl_ReadAny(this, portStart, portCount, data); }
  5235. ErrorCode ReadBit(int32 port, int32 bit, uint8* data) { return InstantDiCtrl_ReadBit(this, port, bit, data); }
  5236. ErrorCode SnapStart() { return InstantDiCtrl_SnapStart(this); }
  5237. ErrorCode SnapStop() { return InstantDiCtrl_SnapStop(this); }
  5238. /*Instant DI Property*/
  5239. double getNoiseFilterBlockTime() { return InstantDiCtrl_getNoiseFilterBlockTime(this); }
  5240. ErrorCode setNoiseFilterBlockTime(double value) { return InstantDiCtrl_setNoiseFilterBlockTime(this, value); }
  5241. Array<NosFltChannel>* getNoiseFilter() { return (Array<NosFltChannel>*)InstantDiCtrl_getNoiseFilter(this); }
  5242. Array<DiintChannel>* getDiintChannels() { return (Array<DiintChannel>*)InstantDiCtrl_getDiintChannels(this);}
  5243. Array<DiCosintPort>* getDiCosintPorts() { return (Array<DiCosintPort>*)InstantDiCtrl_getDiCosintPorts(this);}
  5244. Array<DiPmintPort>* getDiPmintPorts() { return (Array<DiPmintPort>*)InstantDiCtrl_getDiPmintPorts(this); }
  5245. public:
  5246. /*Create an InstantDiCtrl. Note: Use 'dispose' to free the object*/
  5247. static InstantDiCtrl * Create(void) { return InstantDiCtrl_Create(); }
  5248. public: /*helpers*/
  5249. ErrorCode Read(int32 port, uint8 & data) { return ReadAny(port, 1, &data); }
  5250. ErrorCode Read(int32 portStart, int32 portCount, uint8 data[]) { return ReadAny(portStart, portCount, data); }
  5251. /*event*/
  5252. void addInterruptHandler(DiSnapEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtDiInterrupt, (DaqEventProc)proc, userParam);}
  5253. void removeInterruptHandler(DiSnapEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtDiInterrupt, (DaqEventProc)proc, userParam);}
  5254. void addChangeOfStateHandler(DiSnapEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtDiStatusChange, (DaqEventProc)proc, userParam);}
  5255. void removeChangeOfStateHandler(DiSnapEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtDiStatusChange, (DaqEventProc)proc, userParam);}
  5256. void addPatternMatchHandler(DiSnapEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtDiPatternMatch, (DaqEventProc)proc, userParam);}
  5257. void removePatternMatchHandler(DiSnapEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtDiPatternMatch, (DaqEventProc)proc, userParam);}
  5258. public: /*For compatible ONLY!*/
  5259. void addInterruptListener(DiSnapEventListener & listener) { InstantDiCtrl_addInterruptListener(this, &listener); }
  5260. void removeInterruptListener(DiSnapEventListener & listener) { InstantDiCtrl_removeInterruptListener(this, &listener); }
  5261. void addChangeOfStateListener(DiSnapEventListener & listener) { InstantDiCtrl_addChangeOfStateListener(this, &listener); }
  5262. void removeChangeOfStateListener(DiSnapEventListener & listener) { InstantDiCtrl_removeChangeOfStateListener(this, &listener); }
  5263. void addPatternMatchListener(DiSnapEventListener & listener) { InstantDiCtrl_addPatternMatchListener(this, &listener); }
  5264. void removePatternMatchListener(DiSnapEventListener & listener) { InstantDiCtrl_removePatternMatchListener(this, &listener); }
  5265. private:
  5266. DAQCLS_DISABLE_CONSTRUCT(InstantDiCtrl)
  5267. };
  5268. /* Interface BufferedDiCtrl */
  5269. class BufferedDiCtrl : public DioCtrlBase
  5270. {
  5271. public:
  5272. /*Buffered DI Method*/
  5273. ErrorCode Prepare() { return BufferedDiCtrl_Prepare(this); }
  5274. ErrorCode Start() { return BufferedDiCtrl_Start(this); }
  5275. ErrorCode Stop() { return BufferedDiCtrl_Stop(this); }
  5276. void Release() { BufferedDiCtrl_Release(this); }
  5277. bool GetBufferStatus(int32 *count, int32 *offset) { return !!BufferedDiCtrl_GetBufferStatus(this, count, offset);}
  5278. ErrorCode GetData(int32 count, int8 rawData[],
  5279. int32 timeout = 0, int32 *returned = NULL, double *startTime = NULL, int32 *markCount = NULL, DataMark *markBuf = NULL)
  5280. {
  5281. return BufferedDiCtrl_GetData(this, count, rawData, timeout, returned, startTime, markCount, markBuf);
  5282. }
  5283. /*Buffered DI Property*/
  5284. void* getBuffer() { return BufferedDiCtrl_getBuffer(this); }
  5285. int32 getBufferCapacity() { return BufferedDiCtrl_getBufferCapacity(this); }
  5286. ScanPort* getScanPort() { return BufferedDiCtrl_getScanPort(this); }
  5287. ConvertClock* getConvertClock() { return BufferedDiCtrl_getConvertClock(this); }
  5288. Trigger* getTrigger() { return BufferedDiCtrl_getTrigger(this); }
  5289. Trigger* getTrigger1() { return BufferedDiCtrl_getTrigger1(this); }
  5290. public:
  5291. /*Create an BufferedDiCtrl. Note: Use 'dispose' to free the object*/
  5292. static BufferedDiCtrl * Create(void) { return BufferedDiCtrl_Create(); }
  5293. public: /*helpers*/
  5294. /*event*/
  5295. void addDataReadyHandler(BfdDiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedDiDataReady, (DaqEventProc)proc, userParam);}
  5296. void removeDataReadyHandler(BfdDiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedDiDataReady, (DaqEventProc)proc, userParam);}
  5297. void addOverrunHandler(BfdDiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedDiOverrun, (DaqEventProc)proc, userParam);}
  5298. void removeOverrunHandler(BfdDiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedDiOverrun, (DaqEventProc)proc, userParam);}
  5299. void addCacheOverflowHandler(BfdDiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedDiCacheOverflow, (DaqEventProc)proc, userParam);}
  5300. void removeCacheOverflowHandler(BfdDiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedDiCacheOverflow, (DaqEventProc)proc, userParam);}
  5301. void addStoppedHandler(BfdDiEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedDiStopped, (DaqEventProc)proc, userParam);}
  5302. void removeStoppedHandler(BfdDiEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedDiStopped, (DaqEventProc)proc, userParam);}
  5303. private:
  5304. DAQCLS_DISABLE_CONSTRUCT(BufferedDiCtrl)
  5305. };
  5306. /* Interface InstantDoCtrl */
  5307. class InstantDoCtrl : public DioCtrlBase
  5308. {
  5309. public:
  5310. /*Instant DO Method*/
  5311. ErrorCode WriteAny(int32 portStart, int32 portCount, uint8 data[]) { return InstantDoCtrl_WriteAny(this, portStart, portCount, data); }
  5312. ErrorCode ReadAny(int32 portStart, int32 portCount, uint8 data[]) { return InstantDoCtrl_ReadAny(this, portStart, portCount, data); }
  5313. ErrorCode WriteBit(int32 port, int32 bit, uint8 data) { return InstantDoCtrl_WriteBit(this, port, bit, data); }
  5314. ErrorCode ReadBit(int32 port, int32 bit, uint8* data) { return InstantDoCtrl_ReadBit(this, port, bit, data); }
  5315. public:
  5316. /*Create an InstantDoCtrl. Note: Use 'dispose' to free the object*/
  5317. static InstantDoCtrl * Create(void) { return InstantDoCtrl_Create(); }
  5318. public: /*helpers*/
  5319. ErrorCode Write(int32 port, uint8 data) { return WriteAny(port, 1, &data); }
  5320. ErrorCode Write(int32 portStart, int32 portCount, uint8 data[]) { return WriteAny(portStart, portCount, data); }
  5321. ErrorCode Read(int32 port, uint8 &data) { return ReadAny(port, 1, &data); }
  5322. ErrorCode Read(int32 portStart, int32 portCount, uint8 data[]) { return ReadAny(portStart, portCount, data); }
  5323. private:
  5324. DAQCLS_DISABLE_CONSTRUCT(InstantDoCtrl)
  5325. };
  5326. /* Interface BufferedDoCtrl */
  5327. class BufferedDoCtrl : public DioCtrlBase
  5328. {
  5329. public:
  5330. /*Buffered DO Method*/
  5331. ErrorCode Prepare() { return BufferedDoCtrl_Prepare(this); }
  5332. ErrorCode RunOnce() { return BufferedDoCtrl_RunOnce(this); }
  5333. ErrorCode Start() { return BufferedDoCtrl_Start(this); }
  5334. ErrorCode Stop(int32 action) { return BufferedDoCtrl_Stop(this, action);}
  5335. void Release() { BufferedDoCtrl_Release(this); }
  5336. bool GetBufferStatus(int32 *count, int32 *offset) { return !!BufferedDoCtrl_GetBufferStatus(this, count, offset);}
  5337. ErrorCode SetData(int32 count, int8 rawData[]) { return BufferedDoCtrl_SetData(this, count, rawData); }
  5338. /*Buffered DO Property*/
  5339. void* getBuffer() { return BufferedDoCtrl_getBuffer(this); }
  5340. int32 getBufferCapacity() { return BufferedDoCtrl_getBufferCapacity(this); }
  5341. ScanPort* getScanPort() { return BufferedDoCtrl_getScanPort(this); }
  5342. ConvertClock* getConvertClock() { return BufferedDoCtrl_getConvertClock(this); }
  5343. Trigger* getTrigger() { return BufferedDoCtrl_getTrigger(this); }
  5344. Trigger* getTrigger1() { return BufferedDoCtrl_getTrigger1(this); }
  5345. public:
  5346. /*Create an BufferedDoCtrl. Note: Use 'dispose' to free the object*/
  5347. static BufferedDoCtrl * Create(void) { return BufferedDoCtrl_Create(); }
  5348. public: /*helpers*/
  5349. /*event*/
  5350. void addDataTransmittedHandler(BfdDoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedDoDataTransmitted, (DaqEventProc)proc, userParam); }
  5351. void removeDataTransmittedHandler(BfdDoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedDoDataTransmitted, (DaqEventProc)proc, userParam); }
  5352. void addUnderrunHandler(BfdDoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedDoUnderrun, (DaqEventProc)proc, userParam); }
  5353. void removeUnderrunHandler(BfdDoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedDoUnderrun, (DaqEventProc)proc, userParam); }
  5354. void addCacheEmptiedHandler(BfdDoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedDoCacheEmptied, (DaqEventProc)proc, userParam); }
  5355. void removeCacheEmptiedHandler(BfdDoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedDoCacheEmptied, (DaqEventProc)proc, userParam); }
  5356. void addTransitStoppedHandler(BfdDoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedDoTransStopped, (DaqEventProc)proc, userParam); }
  5357. void removeTransitStoppedHandler(BfdDoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedDoTransStopped, (DaqEventProc)proc, userParam); }
  5358. void addStoppedHandler(BfdDoEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtBufferedDoStopped, (DaqEventProc)proc, userParam); }
  5359. void removeStoppedHandler(BfdDoEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtBufferedDoStopped, (DaqEventProc)proc, userParam); }
  5360. private:
  5361. DAQCLS_DISABLE_CONSTRUCT(BufferedDoCtrl)
  5362. };
  5363. /* ----------------------------------------------------------*/
  5364. /*Counter related classes */
  5365. /* ----------------------------------------------------------*/
  5366. template<class T>
  5367. class CounterIndexer
  5368. {
  5369. public:
  5370. void Dispose() { CounterIndexer_Dispose((ICounterIndexer*)this); } /*destroy the instance*/
  5371. int32 getLength() { return CounterIndexer_getLength((ICounterIndexer*)this); }
  5372. Array<T>* getItem(int32 channel) { return (Array<T>*)CounterIndexer_getItem((ICounterIndexer*)this, channel); }
  5373. public: /*for compatible*/
  5374. int32 getCount() { return getLength(); }
  5375. private:
  5376. DAQCLS_DISABLE_CONSTRUCT(CounterIndexer)
  5377. };
  5378. typedef CounterIndexer<CounterCapability> CounterCapabilityIndexer;
  5379. typedef CounterIndexer<SignalDrop> CounterClockSourceIndexer;
  5380. typedef CounterIndexer<SignalDrop> CounterGateSourceIndexer;
  5381. typedef CounterIndexer<SignalDrop> CounterTriggerSourceIndexer;
  5382. class CntrFeatures
  5383. {
  5384. public:
  5385. /*channel features*/
  5386. int32 getChannelCountMax() { return CntrFeatures_getChannelCountMax(this); }
  5387. int32 getResolution() { return CntrFeatures_getResolution(this); }
  5388. int32 getDataSize() { return CntrFeatures_getDataSize(this); }
  5389. CounterCapabilityIndexer* getCapabilities() { return (CounterCapabilityIndexer*)CntrFeatures_getCapabilities(this);}
  5390. /*noise filter features*/
  5391. bool getNoiseFilterSupported() { return !!CntrFeatures_getNoiseFilterSupported(this); }
  5392. Array<uint8>* getNoiseFilterOfChannels() { return (Array<uint8>*)CntrFeatures_getNoiseFilterOfChannels(this);}
  5393. void getNoiseFilterBlockTimeRange(MathInterval &x) { CntrFeatures_getNoiseFilterBlockTimeRange(this, &x); }
  5394. /*new*/
  5395. void getMeasurementTimeoutRange(MathInterval &x) { CntrFeatures_getMeasurementTimeoutRange(this, &x); }
  5396. /*event counting features*/
  5397. CounterClockSourceIndexer* getEcClockSources() { return (CounterClockSourceIndexer*)CntrFeatures_getEcClockSources(this);}
  5398. Array<SignalPolarity>* getEcClockPolarities() { return (Array<SignalPolarity>*)CntrFeatures_getEcClockPolarities(this); }
  5399. Array<SignalPolarity>* getEcGatePolarities() { return (Array<SignalPolarity>*)CntrFeatures_getEcGatePolarities(this); }
  5400. Array<int32>* getEcGateControlOfChannels() { return (Array<int32>*)CntrFeatures_getEcGateControlOfChannels(this); }
  5401. /*frequency measurement features*/
  5402. Array<FreqMeasureMethod>* getFmMethods() { return (Array<FreqMeasureMethod>*)CntrFeatures_getFmMethods(this); }
  5403. /*one-shot features*/
  5404. CounterClockSourceIndexer* getOsClockSources() { return (CounterClockSourceIndexer*)CntrFeatures_getOsClockSources(this);}
  5405. Array<SignalPolarity>* getOsClockPolarities() { return (Array<SignalPolarity>*)CntrFeatures_getOsClockPolarities(this); }
  5406. CounterGateSourceIndexer* getOsGateSources() { return (CounterGateSourceIndexer*)CntrFeatures_getOsGateSources(this); }
  5407. Array<SignalPolarity>* getOsGatePolarities() { return (Array<SignalPolarity>*)CntrFeatures_getOsGatePolarities(this); }
  5408. Array<OutSignalType>* getOsOutSignals() { return (Array<OutSignalType>*)CntrFeatures_getOsOutSignals(this); }
  5409. void getOsDelayCountRange(MathInterval &x) { CntrFeatures_getOsDelayCountRange(this, &x); }
  5410. /*timer/pulse features*/
  5411. Array<int32>* getTmrGateControlOfChannels() { return (Array<int32>*)CntrFeatures_getTmrGateControlOfChannels(this); }
  5412. Array<SignalPolarity>* getTmrGatePolarities() { return (Array<SignalPolarity>*)CntrFeatures_getTmrGatePolarities(this);}
  5413. Array<OutSignalType>* getTmrOutSignals() { return (Array<OutSignalType>*)CntrFeatures_getTmrOutSignals(this); }
  5414. void getTmrFrequencyRange(MathInterval &x) { CntrFeatures_getTmrFrequencyRange(this, &x); }
  5415. /*pulse width measurement features*/
  5416. Array<CounterCascadeGroup>* getPiCascadeGroup() { return (Array<CounterCascadeGroup>*)CntrFeatures_getPiCascadeGroup(this);}
  5417. /*pulse width modulation features*/
  5418. Array<int32>* getPoGateControlOfChannels() { return (Array<int32>*)CntrFeatures_getPoGateControlOfChannels(this); }
  5419. Array<SignalPolarity>* getPoGatePolarities() { return (Array<SignalPolarity>*)CntrFeatures_getPoGatePolarities(this);}
  5420. Array<OutSignalType>* getPoOutSignals() { return (Array<OutSignalType>*)CntrFeatures_getPoOutSignals(this); }
  5421. void getPoHiPeriodRange(MathInterval &x) { CntrFeatures_getPoHiPeriodRange(this, &x); }
  5422. void getPoLoPeriodRange(MathInterval &x) { CntrFeatures_getPoLoPeriodRange(this, &x); }
  5423. void getPoOutCountRange(MathInterval &x) { CntrFeatures_getPoOutCountRange(this, &x); }
  5424. /* new trigger features for pulse width modulation*/
  5425. int32 getPoTriggerCount() { return CntrFeatures_getPoTriggerCount(this); }
  5426. CounterTriggerSourceIndexer* getPoTriggerSources() { return (CounterTriggerSourceIndexer*)CntrFeatures_getPoTriggerSources(this); }
  5427. Array<TriggerAction>* getPoTriggerActions() { return (Array<TriggerAction>*)CntrFeatures_getPoTriggerActions(this); }
  5428. void getPoTriggerDelayRange(MathInterval &x) { CntrFeatures_getPoTriggerDelayRange(this, &x); }
  5429. /*up-down counter features*/
  5430. Array<CountingType>* getUdCountingTypes() { return (Array<CountingType>*)CntrFeatures_getUdCountingTypes(this); }
  5431. Array<int32>* getUdInitialValues() { return (Array<int32>*)CntrFeatures_getUdInitialValues(this); }
  5432. Array<EventId>* getUdSnapEventSources() { return (Array<EventId>*)CntrFeatures_getUdSnapEventSources(this); }
  5433. void getUdValueResetTimes(MathInterval &x) { CntrFeatures_getUdValueResetTimes(this, &x); }
  5434. // new features for Counter continue comparing: outputting pulse settings
  5435. Array<int32>* getCcpGateControlOfChannels() { return (Array<int32>*)CntrFeatures_getCcpGateControlOfChannels(this); }
  5436. Array<SignalPolarity>* getCcpGatePolarities() { return (Array<SignalPolarity>*)CntrFeatures_getCcpGatePolarities(this);}
  5437. Array<OutSignalType>* getCcpOutSignals() { return (Array<OutSignalType>*)CntrFeatures_getCcpOutSignals(this); }
  5438. void getCcpHiPeriodRange(MathInterval &x) { CntrFeatures_getCcpHiPeriodRange(this, &x); }
  5439. void getCcpLoPeriodRange(MathInterval &x) { CntrFeatures_getCcpLoPeriodRange(this, &x); }
  5440. void getCcpOutCountRange(MathInterval &x) { CntrFeatures_getCcpOutCountRange(this, &x); }
  5441. bool getCcpDataCtrlCodeSupported() { return !!CntrFeatures_getCcpDataCtrlCodeSupported(this); }
  5442. /*new buffered counter*/
  5443. int32 getTriggerCount() { return CntrFeatures_getTriggerCount(this); }
  5444. Array<SignalDrop>* getTriggerSources() { return (Array<SignalDrop>*)CntrFeatures_getTriggerSources(this); }
  5445. Array<TriggerAction>* getTriggerActions() { return (Array<TriggerAction>*)CntrFeatures_getTriggerActions(this); }
  5446. CounterClockSourceIndexer* getEcSampleClockSources() { return (CounterClockSourceIndexer*)CntrFeatures_getEcSampleClockSources(this); }
  5447. CounterClockSourceIndexer* getPiSampleClockSources() { return (CounterClockSourceIndexer*)CntrFeatures_getPiSampleClockSources(this); }
  5448. CounterClockSourceIndexer* getPoSampleClockSources() { return (CounterClockSourceIndexer*)CntrFeatures_getPoSampleClockSources(this); }
  5449. CounterClockSourceIndexer* getUdSampleClockSources() { return (CounterClockSourceIndexer*)CntrFeatures_getUdSampleClockSources(this); }
  5450. /*absolute counter features*/
  5451. Array<CodingType>* getAbsCodingTypes() { return (Array<CodingType>*)CntrFeatures_getAbsCodingTypes(this); }
  5452. Array<Baudrate>* getAbsBaudrates() { return (Array<Baudrate>*)CntrFeatures_getAbsBaudrates(this); }
  5453. Array<ErrorRetType>* getAbsErrorRetTypes() { return (Array<ErrorRetType>*)CntrFeatures_getAbsErrorRetTypes(this); }
  5454. Array<OutSignalType>* getAbsOutSignals() { return (Array<OutSignalType>*)CntrFeatures_getAbsOutSignals(this); }
  5455. Array<ActiveSignal>* getAbsLatchSignalEdges() { return (Array<ActiveSignal>*)CntrFeatures_getAbsLatchSignalEdges(this); }
  5456. public: /*for compatible*/
  5457. MathInterval getNoiseFilterBlockTimeRange()
  5458. {
  5459. MathInterval x;
  5460. getNoiseFilterBlockTimeRange(x);
  5461. return x;
  5462. }
  5463. MathInterval getDelayCountRange()
  5464. {
  5465. MathInterval x;
  5466. getOsDelayCountRange(x);
  5467. return x;
  5468. }
  5469. MathInterval getTimerFrequencyRange()
  5470. {
  5471. MathInterval x;
  5472. getTmrFrequencyRange(x);
  5473. return x;
  5474. }
  5475. Array<CounterCascadeGroup>* getPwmCascadeGroup()
  5476. {
  5477. return getPiCascadeGroup();
  5478. }
  5479. MathInterval getHiPeriodRange()
  5480. {
  5481. MathInterval x;
  5482. getPoHiPeriodRange(x);
  5483. return x;
  5484. }
  5485. MathInterval getLoPeriodRange()
  5486. {
  5487. MathInterval x;
  5488. getPoLoPeriodRange(x);
  5489. return x;
  5490. }
  5491. Array<CountingType>* getCountingTypes()
  5492. {
  5493. return getUdCountingTypes();
  5494. }
  5495. Array<int32>* getInitialValues()
  5496. {
  5497. return getUdInitialValues();
  5498. }
  5499. Array<int32>* getSnapEventSources()
  5500. {
  5501. return (Array<int32>*)getUdSnapEventSources();
  5502. }
  5503. bool getOneShotEventSupported()
  5504. {
  5505. return false;
  5506. }
  5507. bool getTimerEventSupported()
  5508. {
  5509. return false;
  5510. }
  5511. bool getOverflowEventSupported()
  5512. {
  5513. return false;
  5514. }
  5515. private:
  5516. DAQCLS_DISABLE_CONSTRUCT(CntrFeatures)
  5517. };
  5518. /*for compatible*/
  5519. typedef CntrFeatures EventCounterFeatures ;
  5520. typedef CntrFeatures FreqMeterFeatures;
  5521. typedef CntrFeatures OneShotFeatures;
  5522. typedef CntrFeatures TimerPulseFeatures;
  5523. typedef CntrFeatures PwMeterFeatures;
  5524. typedef CntrFeatures PwModulatorFeatures;
  5525. typedef CntrFeatures UdCounterFeatures;
  5526. /* Interface CntrCtrlBase */
  5527. class CntrCtrlBase : public DaqCtrlBase
  5528. {
  5529. public:
  5530. /*Counter Control Common Property*/
  5531. CntrFeatures* getFeatures() { return DAQFN_TV(DNLAPI_CNTR, 34, CntrFeatures *)(this); }
  5532. int32 getChannelStart() { return DAQFN_TV(DNLAPI_CNTR, 35, int32)(this); }
  5533. ErrorCode setChannelStart(int32 value) { return DAQFN_ET(DNLAPI_CNTR, 36, int32)(this, value); }
  5534. int32 getChannelCount() { return DAQFN_TV(DNLAPI_CNTR, 37, int32)(this); }
  5535. ErrorCode setChannelCount(int32 value) { return DAQFN_ET(DNLAPI_CNTR, 38, int32)(this, value); }
  5536. bool getEnabled() { return DAQFN_TV(DNLAPI_CNTR, 39, bool)(this); }
  5537. ErrorCode setEnabled(bool enabled) { return DAQFN_ET(DNLAPI_CNTR, 40, bool)(this, enabled); }
  5538. bool getRunning() { return DAQFN_TV(DNLAPI_CNTR, 41, bool)(this); }
  5539. //
  5540. double getNoiseFilterBlockTime() { return DAQFN_TV(DNLAPI_CNTR, 42, double)(this); }
  5541. ErrorCode setNoiseFilterBlockTime(double value) { return DAQFN_ET(DNLAPI_CNTR, 43, double)(this, value); }
  5542. //
  5543. double getMeasurementTimeout() { return DAQFN_TV(DNLAPI_CNTR, 130, double)(this); }
  5544. ErrorCode setMeasurementTimeout(double value) { return DAQFN_ET(DNLAPI_CNTR, 131, double)(this, value); }
  5545. public: /*for compatible*/
  5546. int32 getChannel() { return getChannelStart(); }
  5547. ErrorCode setChannel(int32 ch) { setChannelCount(1); return setChannelStart(ch); }
  5548. NosFltChannel* getNoiseFilter() { return DAQFN_TV(DNLAPI_CNTR, 44, NosFltChannel *)(this); }
  5549. private:
  5550. DAQCLS_DISABLE_CONSTRUCT(CntrCtrlBase)
  5551. };
  5552. /* Interface EcChannel */
  5553. class EcChannel
  5554. {
  5555. public:
  5556. /*Common Property*/
  5557. int32 getChannel() { return EcChannel_getChannel(this); }
  5558. bool getNoiseFiltered() { return !!EcChannel_getNoiseFiltered(this); }
  5559. ErrorCode setNoiseFiltered(bool value) { return EcChannel_setNoiseFiltered(this, value); }
  5560. /*Event counting Property*/
  5561. SignalDrop getClockSource() { return EcChannel_getClockSource(this); }
  5562. ErrorCode setClockSource(SignalDrop value) { return EcChannel_setClockSource(this, value); }
  5563. SignalPolarity getClockPolarity() { return EcChannel_getClockPolarity(this); }
  5564. ErrorCode setClockPolarity(SignalPolarity value) { return EcChannel_setClockPolarity(this, value); }
  5565. SignalPolarity getGatePolarity() { return EcChannel_getGatePolarity(this); }
  5566. ErrorCode setGatePolarity(SignalPolarity value) { return EcChannel_setGatePolarity(this, value); }
  5567. bool getGated() { return !!EcChannel_getGated(this); }
  5568. ErrorCode setGated(bool value) { return EcChannel_setGated(this, value); }
  5569. private:
  5570. DAQCLS_DISABLE_CONSTRUCT(EcChannel)
  5571. };
  5572. /* Interface EventCounterCtrl */
  5573. class EventCounterCtrl : public CntrCtrlBase
  5574. {
  5575. public:
  5576. /*Event Counter Method*/
  5577. ErrorCode Read(int32 &data) { return EventCounterCtrl_Read(this, 1, &data); }
  5578. ErrorCode Read(int32 count, int32 *data) { return EventCounterCtrl_Read(this, count, data); }
  5579. /*Event Counter Property*/
  5580. Array<EcChannel>* getChannels() { return (Array<EcChannel>*)EventCounterCtrl_getChannels(this); }
  5581. /*Create an EventCounterCtrl. Note: Use 'dispose' to free the object*/
  5582. static EventCounterCtrl * Create(void) { return EventCounterCtrl_Create(); }
  5583. public: /*for compatible*/
  5584. int32 getValue() { return EventCounterCtrl_getValue(this); }
  5585. private:
  5586. DAQCLS_DISABLE_CONSTRUCT(EventCounterCtrl)
  5587. };
  5588. /* Interface BufferedEventCounterCtrl */
  5589. class BufferedEventCounterCtrl : public CntrCtrlBase
  5590. {
  5591. public:
  5592. /*Buffered Event Counter Method*/
  5593. ErrorCode GetData(int32 cntr, int32 count, int32 data[], int32 timeout = 0, int32 *returned = NULL, double *startTime = NULL)
  5594. {
  5595. return BufferedEventCounterCtrl_GetDataI32(this, cntr, count, data, timeout, returned, startTime);
  5596. }
  5597. int32 getBufferCapacity() { return BufferedEventCounterCtrl_getBufferCapacity(this); }
  5598. Trigger* getTrigger() { return BufferedEventCounterCtrl_getTrigger(this); }
  5599. Record* getRecord() { return BufferedEventCounterCtrl_getRecord(this); }
  5600. ErrorCode setSampleClkSrc(SignalDrop drop) { return BufferedEventCounterCtrl_setSampleClkSrc(this, drop); }
  5601. SignalDrop getSampleClkSrc() { return BufferedEventCounterCtrl_getSampleClkSrc(this); }
  5602. void getChannelMap(int32 count, int8 *chMap) { BufferedEventCounterCtrl_getChannelMap(this, count, chMap);}
  5603. ErrorCode setChannelMap(int32 count, int8 *chMap) { return BufferedEventCounterCtrl_setChannelMap(this, count, chMap);}
  5604. ErrorCode Prepare() { return BufferedEventCounterCtrl_Prepare(this); }
  5605. void Release() { BufferedEventCounterCtrl_Release(this); }
  5606. bool GetBufferStatus(int32 ch, int32 *count, int32 *offset) { return !!BufferedEventCounterCtrl_getBufferStatus(this, ch, count, offset);}
  5607. /*Event Counter Property*/
  5608. Array<EcChannel>* getChannels() { return (Array<EcChannel>*)BufferedEventCounterCtrl_getChannels(this); }
  5609. /*Create an BufferedEventCounterCtrl. Note: Use 'dispose' to free the object*/
  5610. static BufferedEventCounterCtrl * Create(void) { return BufferedEventCounterCtrl_Create(); }
  5611. public: /*helpers*/
  5612. /*event*/
  5613. void addDataReadyHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  5614. void removeDataReadyHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  5615. void addOverrunHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  5616. void removeOverrunHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  5617. void addCacheOverflowHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  5618. void removeCacheOverflowHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  5619. void addStoppedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  5620. void removeStoppedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  5621. private:
  5622. DAQCLS_DISABLE_CONSTRUCT(BufferedEventCounterCtrl)
  5623. };
  5624. /* Interface FmChannel */
  5625. class FmChannel
  5626. {
  5627. public:
  5628. /*Common Property*/
  5629. int32 getChannel() { return FmChannel_getChannel(this); }
  5630. bool getNoiseFiltered() { return !!FmChannel_getNoiseFiltered(this); }
  5631. ErrorCode setNoiseFiltered(bool value) { return FmChannel_setNoiseFiltered(this, value); }
  5632. /*Frequency measurement Property*/
  5633. FreqMeasureMethod getFmMethod() { return FmChannel_getFmMethod(this); }
  5634. ErrorCode setFmMethod(FreqMeasureMethod value) { return FmChannel_setFmMethod(this, value); }
  5635. double getCollectionPeriod() { return FmChannel_getCollectionPeriod(this); }
  5636. ErrorCode setCollectionPeriod(double value) { return FmChannel_setCollectionPeriod(this, value); }
  5637. double getTimeup() { return FmChannel_getTimeup(this); }
  5638. ErrorCode setTimeup(double value) { return FmChannel_setTimeup(this, value); }
  5639. private:
  5640. DAQCLS_DISABLE_CONSTRUCT(FmChannel)
  5641. };
  5642. /* Interface FreqMeterCtrl */
  5643. class FreqMeterCtrl : public CntrCtrlBase
  5644. {
  5645. public:
  5646. /*Frequency Meter Method*/
  5647. ErrorCode Read(double &data) { return FreqMeterCtrl_Read(this, 1, &data); }
  5648. ErrorCode Read(int32 count, double *data) { return FreqMeterCtrl_Read(this, count, data); }
  5649. /*Frequency Meter Property*/
  5650. Array<FmChannel>* getChannels() { return (Array<FmChannel>*)FreqMeterCtrl_getChannels(this); }
  5651. /*Create an FreqMeterCtrl. Note: Use 'dispose' to free the object*/
  5652. static FreqMeterCtrl * Create(void) { return FreqMeterCtrl_Create(); }
  5653. public: /*for compatible*/
  5654. double getValue() { return FreqMeterCtrl_getValue(this); }
  5655. FreqMeasureMethod getMethod() { return FreqMeterCtrl_getMethod(this); }
  5656. ErrorCode setMethod(FreqMeasureMethod value) { return FreqMeterCtrl_setMethod(this, value); }
  5657. double getCollectionPeriod() { return FreqMeterCtrl_getCollectionPeriod(this); }
  5658. ErrorCode setCollectionPeriod(double value) { return FreqMeterCtrl_setCollectionPeriod(this, value); }
  5659. private:
  5660. DAQCLS_DISABLE_CONSTRUCT(FreqMeterCtrl)
  5661. };
  5662. /* Interface OsChannel */
  5663. class OsChannel
  5664. {
  5665. public:
  5666. /*Common*/
  5667. int32 getChannel() { return OsChannel_getChannel(this); }
  5668. bool getNoiseFiltered() { return !!OsChannel_getNoiseFiltered(this); }
  5669. ErrorCode setNoiseFiltered(bool value) { return OsChannel_setNoiseFiltered(this, value); }
  5670. /*One-shot Property*/
  5671. int32 getDelayCount() { return OsChannel_getDelayCount(this); }
  5672. ErrorCode setDelayCount(int32 value) { return OsChannel_setDelayCount(this, value); }
  5673. SignalDrop getClockSource() { return OsChannel_getClockSource(this); }
  5674. ErrorCode setClockSource(SignalDrop value) { return OsChannel_setClockSource(this, value); }
  5675. SignalPolarity getClockPolarity() { return OsChannel_getClockPolarity(this); }
  5676. ErrorCode setClockPolarity(SignalPolarity value) { return OsChannel_setClockPolarity(this, value); }
  5677. SignalDrop getGateSource() { return OsChannel_getGateSource(this); }
  5678. ErrorCode setGateSource(SignalDrop value) { return OsChannel_setGateSource(this, value); }
  5679. SignalPolarity getGatePolarity() { return OsChannel_getGatePolarity(this); }
  5680. ErrorCode setGatePolarity(SignalPolarity value) { return OsChannel_setGatePolarity(this, value); }
  5681. OutSignalType getOutSignal() { return OsChannel_getOutSignal(this); }
  5682. ErrorCode setOutSignal(OutSignalType value) { return OsChannel_setOutSignal(this, value); }
  5683. private:
  5684. DAQCLS_DISABLE_CONSTRUCT(OsChannel)
  5685. };
  5686. /* Interface OneShotCtrl */
  5687. class OneShotCtrl : public CntrCtrlBase
  5688. {
  5689. public:
  5690. /*One-shot Property*/
  5691. Array<OsChannel>* getChannels() { return (Array<OsChannel>*)OneShotCtrl_getChannels(this); }
  5692. /*Create an OneShotCtrl. Note: Use 'dispose' to free the object*/
  5693. static OneShotCtrl * Create(void) { return OneShotCtrl_Create(); }
  5694. public: /*helpers*/
  5695. /*event*/
  5696. void addOneShotHandler(CntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCntOneShot0, (DaqEventProc)proc, userParam);}
  5697. void removeOneShotHandler(CntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCntOneShot0, (DaqEventProc)proc, userParam);}
  5698. /*for compatible*/
  5699. int32 getDelayCount() { return OneShotCtrl_getDelayCount(this); }
  5700. ErrorCode setDelayCount(int32 value) { return OneShotCtrl_setDelayCount(this, value); }
  5701. public: /*For compatible ONLY!*/
  5702. void addOneShotListener(CntrEventListener & listener) { OneShotCtrl_addOneShotListener(this, &listener); }
  5703. void removeOneShotListener(CntrEventListener & listener) { OneShotCtrl_removeOneShotListener(this, &listener); }
  5704. private:
  5705. DAQCLS_DISABLE_CONSTRUCT(OneShotCtrl)
  5706. };
  5707. /* Interface TmrChannel */
  5708. class TmrChannel
  5709. {
  5710. public:
  5711. /*Common*/
  5712. int32 getChannel() { return TmrChannel_getChannel(this); }
  5713. bool getNoiseFiltered() { return !!TmrChannel_getNoiseFiltered(this); }
  5714. ErrorCode setNoiseFiltered(bool value) { return TmrChannel_setNoiseFiltered(this, value); }
  5715. /*Timer/Pulse Property*/
  5716. double getFrequency() { return TmrChannel_getFrequency(this); }
  5717. ErrorCode setFrequency(double value) { return TmrChannel_setFrequency(this, value); }
  5718. bool getGated() { return !!TmrChannel_getGated(this); }
  5719. ErrorCode setGated(bool value) { return TmrChannel_setGated(this, value); }
  5720. SignalPolarity getGatePolarity() { return TmrChannel_getGatePolarity(this); }
  5721. ErrorCode setGatePolarity(SignalPolarity value) { return TmrChannel_setGatePolarity(this, value); }
  5722. OutSignalType getOutSignal() { return TmrChannel_getOutSignal(this); }
  5723. ErrorCode setOutSignal(OutSignalType value) { return TmrChannel_setOutSignal(this, value); }
  5724. private:
  5725. DAQCLS_DISABLE_CONSTRUCT(TmrChannel)
  5726. };
  5727. /* Interface TimerPulseCtrl */
  5728. class TimerPulseCtrl : public CntrCtrlBase
  5729. {
  5730. public:
  5731. /*Timer/Pulse Property*/
  5732. Array<TmrChannel>* getChannels() { return (Array<TmrChannel>*)TimerPulseCtrl_getChannels(this); }
  5733. /*Create an TimerPulseCtrl. Note: Use 'dispose' to free the object*/
  5734. static TimerPulseCtrl * Create(void) { return TimerPulseCtrl_Create(); }
  5735. public: /*helpers*/
  5736. /*event*/
  5737. void addTimerTickHandler(CntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCntTimer0, (DaqEventProc)proc, userParam); }
  5738. void removeTimerTickHandler(CntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCntTimer0, (DaqEventProc)proc, userParam); }
  5739. /*for compatible*/
  5740. double getFrequency() { return TimerPulseCtrl_getFrequency(this); }
  5741. ErrorCode setFrequency(double value) { return TimerPulseCtrl_setFrequency(this, value); }
  5742. public: /*For compatible ONLY!*/
  5743. void addTimerTickListener(CntrEventListener & listener) { TimerPulseCtrl_addTimerTickListener(this, &listener); }
  5744. void removeTimerTickListener(CntrEventListener & listener) { TimerPulseCtrl_removeTimerTickListener(this, &listener); }
  5745. private:
  5746. DAQCLS_DISABLE_CONSTRUCT(TimerPulseCtrl)
  5747. };
  5748. /* Interface PiChannel */
  5749. class PiChannel
  5750. {
  5751. public:
  5752. /*Common*/
  5753. int32 getChannel() { return PiChannel_getChannel(this); }
  5754. bool getNoiseFiltered() { return !!PiChannel_getNoiseFiltered(this); }
  5755. ErrorCode setNoiseFiltered(bool value) { return PiChannel_setNoiseFiltered(this, value); }
  5756. double getTimeup() { return PiChannel_getTimeup(this); }
  5757. ErrorCode setTimeup(double value) { return PiChannel_setTimeup(this, value); }
  5758. private:
  5759. DAQCLS_DISABLE_CONSTRUCT(PiChannel)
  5760. };
  5761. /* Interface PwMeterCtrl */
  5762. class PwMeterCtrl : public CntrCtrlBase
  5763. {
  5764. public:
  5765. /*Pulse Width Measurement Method*/
  5766. ErrorCode Read(PulseWidth &data) { return PwMeterCtrl_Read(this, 1, &data); }
  5767. ErrorCode Read(int32 count, PulseWidth *data) { return PwMeterCtrl_Read(this, count, data); }
  5768. /*Pulse Width Measurement Property*/
  5769. Array<PiChannel>* getChannels() { return (Array<PiChannel>*)PwMeterCtrl_getChannels(this); }
  5770. /*Create an PwMeterCtrl. Note: Use 'dispose' to free the object*/
  5771. static PwMeterCtrl * Create(void) { return PwMeterCtrl_Create(); }
  5772. public: /*helpers*/
  5773. /*event*/
  5774. void addOverflowHandler(CntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCntPwmInOverflow0, (DaqEventProc)proc, userParam);}
  5775. void removeOverflowHandler(CntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCntPwmInOverflow0, (DaqEventProc)proc, userParam);}
  5776. /*for compatible*/
  5777. void getValue(PulseWidth &width) { Read(1, &width); }
  5778. public: /*For compatible ONLY!*/
  5779. void addOverflowListener(CntrEventListener & listener) { PwMeterCtrl_addOverflowListener(this, &listener); }
  5780. void removeOverflowListener(CntrEventListener & listener) { PwMeterCtrl_removeOverflowListener(this, &listener); }
  5781. private:
  5782. DAQCLS_DISABLE_CONSTRUCT(PwMeterCtrl)
  5783. };
  5784. /* Interface BufferedPwMeterCtrl */
  5785. class BufferedPwMeterCtrl : public CntrCtrlBase
  5786. {
  5787. public:
  5788. /*Buffered Pulse Width Measurement Method*/
  5789. ErrorCode GetData(int32 cntr, int32 count, PulseWidth *data, int32 timeout = 0, int32 *returned = NULL, double *startTime = NULL)
  5790. {
  5791. return BufferedPwMeterCtrl_GetData(this, cntr, count, data, timeout, returned, startTime);
  5792. }
  5793. int32 getBufferCapacity() { return BufferedPwMeterCtrl_getBufferCapacity(this); }
  5794. Trigger* getTrigger() { return BufferedPwMeterCtrl_getTrigger(this); }
  5795. Record* getRecord() { return BufferedPwMeterCtrl_getRecord(this); }
  5796. ErrorCode setSampleClkSrc(SignalDrop drop) { return BufferedPwMeterCtrl_setSampleClkSrc(this, drop); }
  5797. SignalDrop getSampleClkSrc() { return BufferedPwMeterCtrl_getSampleClkSrc(this); }
  5798. void getChannelMap(int32 count, int8 *chMap) { BufferedPwMeterCtrl_getChannelMap(this, count, chMap);}
  5799. ErrorCode setChannelMap(int32 count, int8 *chMap) { return BufferedPwMeterCtrl_setChannelMap(this, count, chMap);}
  5800. ErrorCode Prepare() { return BufferedPwMeterCtrl_Prepare(this); }
  5801. void Release() { BufferedPwMeterCtrl_Release(this); }
  5802. bool GetBufferStatus(int32 ch, int32 *count, int32 *offset) { return !!BufferedPwMeterCtrl_getBufferStatus(this, ch, count, offset);}
  5803. /*Pulse Width Measurement Property*/
  5804. Array<PiChannel>* getChannels() { return (Array<PiChannel>*)BufferedPwMeterCtrl_getChannels(this); }
  5805. /*Create an BufferedPwMeterCtrl. Note: Use 'dispose' to free the object*/
  5806. static BufferedPwMeterCtrl * Create(void) { return BufferedPwMeterCtrl_Create(); }
  5807. public: /*helpers*/
  5808. /*event*/
  5809. void addDataReadyHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  5810. void removeDataReadyHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  5811. void addOverrunHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  5812. void removeOverrunHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  5813. void addCacheOverflowHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  5814. void removeCacheOverflowHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  5815. void addStoppedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  5816. void removeStoppedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  5817. private:
  5818. DAQCLS_DISABLE_CONSTRUCT(BufferedPwMeterCtrl)
  5819. };
  5820. /* Interface PoChannel */
  5821. class PoChannel
  5822. {
  5823. public:
  5824. /*Common*/
  5825. int32 getChannel() { return PoChannel_getChannel(this); }
  5826. bool getNoiseFiltered() { return !!PoChannel_getNoiseFiltered(this); }
  5827. ErrorCode setNoiseFiltered(bool value) { return PoChannel_setNoiseFiltered(this, value); }
  5828. /*Pulse Width Modulation Property*/
  5829. void getPulseWidth(PulseWidth &width) { PoChannel_getPulseWidth(this, &width); }
  5830. ErrorCode setPulseWidth(PulseWidth const &width) { return PoChannel_setPulseWidth(this, &width); }
  5831. bool getGated() { return !!PoChannel_getGated(this); }
  5832. ErrorCode setGated(bool value) { return PoChannel_setGated(this, value); }
  5833. SignalPolarity getGatePolarity() { return PoChannel_getGatePolarity(this); }
  5834. ErrorCode setGatePolarity(SignalPolarity value) { return PoChannel_setGatePolarity(this, value); }
  5835. OutSignalType getOutSignal() { return PoChannel_getOutSignal(this); }
  5836. ErrorCode setOutSignal(OutSignalType value) { return PoChannel_setOutSignal(this, value); }
  5837. int32 getOutCount() { return PoChannel_getOutCount(this); }
  5838. ErrorCode setOutCount(int32 count) { return PoChannel_setOutCount(this, count); }
  5839. /*new: trigger settings*/
  5840. SignalDrop getTriggerSource() { return PoChannel_getTriggerSource(this); }
  5841. ErrorCode setTriggerSource(SignalDrop value) { return PoChannel_setTriggerSource(this, value);}
  5842. ActiveSignal getTriggerEdge() { return PoChannel_getTriggerEdge(this); }
  5843. ErrorCode setTriggerEdge(ActiveSignal value) { return PoChannel_setTriggerEdge(this, value); }
  5844. TriggerAction getTriggerAction() { return PoChannel_getTriggerAction(this); }
  5845. ErrorCode setTriggerAction(TriggerAction value) { return PoChannel_setTriggerAction(this, value);}
  5846. double getTriggerDelayCount() { return PoChannel_getTriggerDelayCount(this); }
  5847. ErrorCode setTriggerDelayCount(double value) { return PoChannel_setTriggerDelayCount(this, value);}
  5848. private:
  5849. DAQCLS_DISABLE_CONSTRUCT(PoChannel)
  5850. };
  5851. /* Interface PwModulatorCtrl */
  5852. class PwModulatorCtrl : public CntrCtrlBase
  5853. {
  5854. public:
  5855. /*Pulse Width Modulation Property*/
  5856. Array<PoChannel>* getChannels() { return (Array<PoChannel>*)PwModulatorCtrl_getChannels(this); }
  5857. /*Create an PwModulatorCtrl. Note: Use 'dispose' to free the object*/
  5858. static PwModulatorCtrl * Create(void) { return PwModulatorCtrl_Create(); }
  5859. public:
  5860. /*for compatible*/
  5861. void getPulseWidth(PulseWidth &width) { PwModulatorCtrl_getPulseWidth(this, &width); }
  5862. ErrorCode setPulseWidth(PulseWidth const &width) { return PwModulatorCtrl_setPulseWidth(this, &width); }
  5863. private:
  5864. DAQCLS_DISABLE_CONSTRUCT(PwModulatorCtrl)
  5865. };
  5866. /* Interface BufferedPwModulatorCtrl */
  5867. class BufferedPwModulatorCtrl : public CntrCtrlBase
  5868. {
  5869. public:
  5870. /*Buffered Event Counter Method*/
  5871. ErrorCode SetData(int32 cntr, int32 count, PulseWidth *data)
  5872. {
  5873. return BufferedPwModulatorCtrl_SetData(this, cntr, count, data);
  5874. }
  5875. int32 getBufferCapacity() { return BufferedPwModulatorCtrl_getBufferCapacity(this); }
  5876. Trigger* getTrigger() { return BufferedPwModulatorCtrl_getTrigger(this); }
  5877. int32 getSamples() { return BufferedPwModulatorCtrl_getSamples(this); }
  5878. ErrorCode setSamples(int32 value) { return BufferedPwModulatorCtrl_setSamples(this, value); }
  5879. int32 getIntervalCount() { return BufferedPwModulatorCtrl_getIntervalCount(this); }
  5880. ErrorCode setIntervalCount(int32 value) { return BufferedPwModulatorCtrl_setIntervalCount(this, value); }
  5881. bool getStreaming() { return !!BufferedPwModulatorCtrl_getStreaming(this); }
  5882. ErrorCode setStreaming(bool value) { return BufferedPwModulatorCtrl_setStreaming(this, value); }
  5883. ErrorCode setSampleClkSrc(SignalDrop drop) { return BufferedPwModulatorCtrl_setSampleClkSrc(this, drop); }
  5884. SignalDrop getSampleClkSrc() { return BufferedPwModulatorCtrl_getSampleClkSrc(this); }
  5885. void getChannelMap(int32 count, int8 *chMap) { BufferedPwModulatorCtrl_getChannelMap(this, count, chMap);}
  5886. ErrorCode setChannelMap(int32 count, int8 *chMap) { return BufferedPwModulatorCtrl_setChannelMap(this, count, chMap);}
  5887. ErrorCode Prepare() { return BufferedPwModulatorCtrl_Prepare(this); }
  5888. void Release() { BufferedPwModulatorCtrl_Release(this); }
  5889. bool GetBufferStatus(int32 ch, int32 *count, int32 *offset) { return !!BufferedPwModulatorCtrl_getBufferStatus(this, ch, count, offset);}
  5890. /*Pulse Width Modulation Property*/
  5891. Array<PoChannel>* getChannels() { return (Array<PoChannel>*)BufferedPwModulatorCtrl_getChannels(this); }
  5892. /*Create an BufferedPwModulatorCtrl. Note: Use 'dispose' to free the object*/
  5893. static BufferedPwModulatorCtrl * Create(void) { return BufferedPwModulatorCtrl_Create(); }
  5894. public: /*helpers*/
  5895. /*event*/
  5896. void addDataTransmittedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCoDataTransmitted, (DaqEventProc)proc, userParam); }
  5897. void removeDataTransmittedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCoDataTransmitted, (DaqEventProc)proc, userParam); }
  5898. void addUnderrunHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCoUnderrun, (DaqEventProc)proc, userParam); }
  5899. void removeUnderrunHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCoUnderrun, (DaqEventProc)proc, userParam); }
  5900. void addCacheEmptiedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCoCacheEmptied, (DaqEventProc)proc, userParam); }
  5901. void removeCacheEmptiedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCoCacheEmptied, (DaqEventProc)proc, userParam); }
  5902. void addTransitStoppedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCoTransStopped, (DaqEventProc)proc, userParam); }
  5903. void removeTransitStoppedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCoTransStopped, (DaqEventProc)proc, userParam); }
  5904. void addStoppedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCntrStopped, (DaqEventProc)proc, userParam); }
  5905. void removeStoppedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCntrStopped, (DaqEventProc)proc, userParam); }
  5906. private:
  5907. DAQCLS_DISABLE_CONSTRUCT(BufferedPwModulatorCtrl)
  5908. };
  5909. /* Interface UdChannel */
  5910. class UdChannel
  5911. {
  5912. public:
  5913. /*Common*/
  5914. int32 getChannel() { return UdChannel_getChannel(this); }
  5915. bool getNoiseFiltered() { return !!UdChannel_getNoiseFiltered(this); }
  5916. ErrorCode setNoiseFiltered(bool value) { return UdChannel_setNoiseFiltered(this, value); }
  5917. /*Up-down Counter Property*/
  5918. CountingType getCountingType() { return UdChannel_getCountingType(this); }
  5919. ErrorCode setCountingType(CountingType value) { return UdChannel_setCountingType(this, value); }
  5920. int32 getInitialValue() { return UdChannel_getInitialValue(this); }
  5921. ErrorCode setInitialValue(int32 value) { return UdChannel_setInitialValue(this, value); }
  5922. int32 getResetTimesByIndex() { return UdChannel_getResetTimesByIndex(this); }
  5923. ErrorCode setResetTimesByIndex(int32 value) { return UdChannel_setResetTimesByIndex(this, value); }
  5924. // new properties for Counter continue comparing: outputting pulse settings
  5925. void getPulseWidth(PulseWidth &width) { UdChannel_getPulseWidth(this, &width); }
  5926. ErrorCode setPulseWidth(PulseWidth const &width) { return UdChannel_setPulseWidth(this, &width); }
  5927. bool getGated() { return !!UdChannel_getGated(this); }
  5928. ErrorCode setGated(bool value) { return UdChannel_setGated(this, value); }
  5929. SignalPolarity getGatePolarity() { return UdChannel_getGatePolarity(this); }
  5930. ErrorCode setGatePolarity(SignalPolarity value) { return UdChannel_setGatePolarity(this, value); }
  5931. OutSignalType getOutSignal() { return UdChannel_getOutSignal(this); }
  5932. ErrorCode setOutSignal(OutSignalType value) { return UdChannel_setOutSignal(this, value); }
  5933. int32 getOutCount() { return UdChannel_getOutCount(this); }
  5934. ErrorCode setOutCount(int32 count) { return UdChannel_setOutCount(this, count); }
  5935. private:
  5936. DAQCLS_DISABLE_CONSTRUCT(UdChannel)
  5937. };
  5938. /* Interface UdCounterCtrl */
  5939. class UdCounterCtrl : public CntrCtrlBase
  5940. {
  5941. public:
  5942. /*Up-down Counter Method*/
  5943. ErrorCode SnapStart(EventId srcId) { return UdCounterCtrl_SnapStart(this, srcId); }
  5944. ErrorCode SnapStop(EventId srcId) { return UdCounterCtrl_SnapStop(this, srcId); }
  5945. ErrorCode CompareAppendTable(int32 channel, int32 count, int32 *table) { return UdCounterCtrl_CompareAppendTable(this, channel, count, table); }
  5946. ErrorCode CompareSetTable(int32 channel, int32 count, int32 *table) { return UdCounterCtrl_CompareSetTable(this, channel, count, table); }
  5947. ErrorCode CompareAppendInterval(int32 channel, int32 start, int32 increment,int32 count) { return UdCounterCtrl_CompareAppendInterval(this, channel, start, increment, count); }
  5948. ErrorCode CompareSetInterval(int32 channel, int32 start, int32 increment,int32 count) { return UdCounterCtrl_CompareSetInterval(this, channel, start, increment, count); }
  5949. ErrorCode CompareClear(int32 channel) { return UdCounterCtrl_CompareClear(this, channel); }
  5950. ErrorCode ValueReset() { return UdCounterCtrl_ValueReset(this); }
  5951. ErrorCode Read(int32 &data) { return UdCounterCtrl_Read(this, 1, &data); }
  5952. ErrorCode Read(int32 count, int32 *data) { return UdCounterCtrl_Read(this, count, data); }
  5953. /*Up-down Counter Property*/
  5954. Array<UdChannel>* getChannels() { return (Array<UdChannel>*)UdCounterCtrl_getChannels(this); }
  5955. bool getCcpDatCtrlCodeEnabled() { return !!UdCounterCtrl_getCcpDatCtrlCodeEnabled(this); }
  5956. ErrorCode setCcpDatCtrlCodeEnabled(bool value) { return UdCounterCtrl_setCcpDatCtrlCodeEnabled(this, value); }
  5957. /*Create an UdCounterCtrl. Note: Use 'dispose' to free the object*/
  5958. static UdCounterCtrl * Create(void) { return UdCounterCtrl_Create(); }
  5959. public: /*helpers*/
  5960. /*event*/
  5961. void addUdCntrEventHandler(UdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtUdIndex0, (DaqEventProc)proc, userParam);}
  5962. void removeUdCntrEventHandler(UdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtUdIndex0, (DaqEventProc)proc, userParam);}
  5963. /*for compatible*/
  5964. int32 getValue() { return UdCounterCtrl_getValue(this); }
  5965. CountingType getCountingType() { return UdCounterCtrl_getCountingType(this); }
  5966. ErrorCode setCountingType(CountingType value) { return UdCounterCtrl_setCountingType(this, value); }
  5967. int32 getInitialValue() { return UdCounterCtrl_getInitialValue(this); }
  5968. ErrorCode setInitialValue(int32 value) { return UdCounterCtrl_setInitialValue(this, value); }
  5969. int32 getResetTimesByIndex() { return UdCounterCtrl_getResetTimesByIndex(this); }
  5970. ErrorCode setResetTimesByIndex(int32 value) { return UdCounterCtrl_setResetTimesByIndex(this, value);}
  5971. ErrorCode CompareAppendTable(int32 count, int32 *table) { return CompareAppendTable(getChannel(), count, table); }
  5972. ErrorCode CompareSetTable(int32 count, int32 *table) { return CompareSetTable(getChannel(), count, table); }
  5973. ErrorCode CompareAppendInterval(int32 start, int32 increment,int32 count) { return CompareAppendInterval(getChannel(), start, increment, count); }
  5974. ErrorCode CompareSetInterval(int32 start, int32 increment,int32 count) { return CompareSetInterval(getChannel(), start, increment, count); }
  5975. ErrorCode CompareClear() { return CompareClear(getChannel()); }
  5976. public: /*For compatible ONLY!*/
  5977. void addUdCntrEventListener(UdCntrEventListener &listener) { UdCounterCtrl_addUdCntrEventListener(this, &listener); }
  5978. void removeUdCntrEventListener(UdCntrEventListener &listener) { UdCounterCtrl_removeUdCntrEventListener(this, &listener); }
  5979. ErrorCode SnapStart(int32 srcId) { return UdCounterCtrl_SnapStart(this, (EventId)srcId); }
  5980. ErrorCode SnapStop(int32 srcId) { return UdCounterCtrl_SnapStop(this, (EventId)srcId); }
  5981. private:
  5982. DAQCLS_DISABLE_CONSTRUCT(UdCounterCtrl)
  5983. };
  5984. /* Interface BufferedUdCounterCtrl */
  5985. class BufferedUdCounterCtrl : public CntrCtrlBase
  5986. {
  5987. public:
  5988. /*Buffered Up-down Counter Method*/
  5989. ErrorCode GetData(int32 cntr, int32 count, int32 data[], int32 timeout = 0, int32 *returned = NULL, double *startTime = NULL)
  5990. {
  5991. return BufferedUdCounterCtrl_GetDataI32(this, cntr, count, data, timeout, returned, startTime);
  5992. }
  5993. int32 getBufferCapacity() { return BufferedUdCounterCtrl_getBufferCapacity(this); }
  5994. Trigger* getTrigger() { return BufferedUdCounterCtrl_getTrigger(this); }
  5995. Record* getRecord() { return BufferedUdCounterCtrl_getRecord(this); }
  5996. ErrorCode setSampleClkSrc(SignalDrop drop) { return BufferedUdCounterCtrl_setSampleClkSrc(this, drop); }
  5997. SignalDrop getSampleClkSrc() { return BufferedUdCounterCtrl_getSampleClkSrc(this); }
  5998. void getChannelMap(int32 count, int8 *chMap) { BufferedUdCounterCtrl_getChannelMap(this, count, chMap);}
  5999. ErrorCode setChannelMap(int32 count, int8 *chMap) { return BufferedUdCounterCtrl_setChannelMap(this, count, chMap);}
  6000. ErrorCode Prepare() { return BufferedUdCounterCtrl_Prepare(this); }
  6001. void Release() { BufferedUdCounterCtrl_Release(this); }
  6002. bool GetBufferStatus(int32 ch, int32 *count, int32 *offset) { return !!BufferedUdCounterCtrl_getBufferStatus(this, ch, count, offset);}
  6003. /*Up-down Counter Property*/
  6004. Array<UdChannel>* getChannels() { return (Array<UdChannel>*)BufferedUdCounterCtrl_getChannels(this); }
  6005. /*Create an UdCounterCtrl. Note: Use 'dispose' to free the object*/
  6006. static BufferedUdCounterCtrl * Create(void) { return BufferedUdCounterCtrl_Create(); }
  6007. public: /*helpers*/
  6008. /*event*/
  6009. void addDataReadyHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  6010. void removeDataReadyHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCiDataReady, (DaqEventProc)proc, userParam);}
  6011. void addOverrunHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  6012. void removeOverrunHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCiOverrun, (DaqEventProc)proc, userParam);}
  6013. void addCacheOverflowHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  6014. void removeCacheOverflowHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCiCacheOverflow, (DaqEventProc)proc, userParam);}
  6015. void addStoppedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_addEventHandler (this, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  6016. void removeStoppedHandler(BfdCntrEventProc proc, void *userParam) { DaqCtrlBase_removeEventHandler(this, EvtCntrStopped, (DaqEventProc)proc, userParam);}
  6017. private:
  6018. DAQCLS_DISABLE_CONSTRUCT(BufferedUdCounterCtrl)
  6019. };
  6020. /* Interface AbsChannel */
  6021. class AbsChannel
  6022. {
  6023. public:
  6024. /*Common Property*/
  6025. int32 getChannel() { return AbsChannel_getChannel(this); }
  6026. bool getNoiseFiltered() { return !!AbsChannel_getNoiseFiltered(this); }
  6027. ErrorCode setNoiseFiltered(bool value) { return AbsChannel_setNoiseFiltered(this, value); }
  6028. /*absolute counting Property*/
  6029. CodingType getCodingType() { return AbsChannel_getCodingType(this); }
  6030. ErrorCode setCodingType(CodingType value) { return AbsChannel_setCodingType(this, value); }
  6031. Baudrate getBaudrate() { return AbsChannel_getBaudrate(this); }
  6032. ErrorCode setBaudrate(Baudrate value) { return AbsChannel_setBaudrate(this, value); }
  6033. ErrorRetType getErrorRetType() { return AbsChannel_getErrorRetType(this); }
  6034. ErrorCode setErrorRetType(ErrorRetType value) { return AbsChannel_setErrorRetType(this, value); }
  6035. int32 getErrorRetValue() { return AbsChannel_getErrorRetValue(this); }
  6036. ErrorCode setErrorRetValue(int32 value) { return AbsChannel_setErrorRetValue(this, value); }
  6037. ActiveSignal getLatchSigEdge() { return AbsChannel_getLatchSigEdge(this); }
  6038. ErrorCode setLatchSigEdge(ActiveSignal value) { return AbsChannel_setLatchSigEdge(this, value); }
  6039. OutSignalType getOutSignal() { return AbsChannel_getOutSignal(this); }
  6040. ErrorCode setOutSignal(OutSignalType value) { return AbsChannel_setOutSignal(this, value); }
  6041. int32 getCompareValue0() { return AbsChannel_getCompareValue0(this); }
  6042. ErrorCode setCompareValue0(int32 value) { return AbsChannel_setCompareValue0(this, value); }
  6043. bool getCompare0Enabled() { return !!AbsChannel_getCompare0Enabled(this); }
  6044. ErrorCode setCompare0Enabled(bool value) { return AbsChannel_setCompare0Enabled(this, value); }
  6045. int32 getCompareValue1() { return AbsChannel_getCompareValue1(this); }
  6046. ErrorCode setCompareValue1(int32 value) { return AbsChannel_setCompareValue1(this, value); }
  6047. bool getCompare1Enabled() { return !!AbsChannel_getCompare1Enabled(this); }
  6048. ErrorCode setCompare1Enabled(bool value) { return AbsChannel_setCompare1Enabled(this, value); }
  6049. int32 getLatchedValue() { return AbsChannel_getLatchedValue(this); }
  6050. private:
  6051. DAQCLS_DISABLE_CONSTRUCT(AbsChannel)
  6052. };
  6053. /* Interface AbsCounterCtrl */
  6054. class AbsCounterCtrl : public CntrCtrlBase
  6055. {
  6056. public:
  6057. /*Event Counter Method*/
  6058. ErrorCode Read(int32 &data) { return AbsCounterCtrl_Read(this, 1, &data); }
  6059. ErrorCode Read(int32 count, int32 *data) { return AbsCounterCtrl_Read(this, count, data); }
  6060. ErrorCode StatusRead(int32 &data) { return AbsCounterCtrl_StatusRead(this, 1, &data); }
  6061. ErrorCode StatusRead(int32 count, int32 *data) { return AbsCounterCtrl_StatusRead(this, count, data); }
  6062. /*Event Counter Property*/
  6063. Array<AbsChannel>* getChannels() { return (Array<AbsChannel>*)AbsCounterCtrl_getChannels(this); }
  6064. /*Create an EventCounterCtrl. Note: Use 'dispose' to free the object*/
  6065. static AbsCounterCtrl * Create(void) { return AbsCounterCtrl_Create(); }
  6066. private:
  6067. DAQCLS_DISABLE_CONSTRUCT(AbsCounterCtrl)
  6068. };
  6069. /* Interface EsChannel */
  6070. class EsChannel
  6071. {
  6072. public:
  6073. /*Common Property*/
  6074. int32 getChannel() { return EsChannel_getChannel(this); }
  6075. bool getNoiseFiltered() { return !!EsChannel_getNoiseFiltered(this); }
  6076. ErrorCode setNoiseFiltered(bool value) { return EsChannel_setNoiseFiltered(this, value); }
  6077. /*Edge Separation Measurement Property*/
  6078. ActiveSignal getStartCountingEdge() { return EsChannel_getStartCountingEdge(this); }
  6079. ErrorCode setStartCountingEdge(ActiveSignal value) { return EsChannel_setStartCountingEdge(this, value); }
  6080. ActiveSignal getStopCountingEdge() { return EsChannel_getStopCountingEdge(this); }
  6081. ErrorCode setStopCountingEdge(ActiveSignal value) { return EsChannel_setStopCountingEdge(this, value); }
  6082. private:
  6083. DAQCLS_DISABLE_CONSTRUCT(EsChannel)
  6084. };
  6085. /* Interface EdgeSeparationCtrl */
  6086. class EdgeSeparationCtrl : public CntrCtrlBase
  6087. {
  6088. public:
  6089. /*Edge Separation Method*/
  6090. ErrorCode Read(double &data) { return EdgeSeparationCtrl_Read(this, 1, &data); }
  6091. ErrorCode Read(int32 count, double *data) { return EdgeSeparationCtrl_Read(this, count, data); }
  6092. /*Edge Separation Property*/
  6093. Array<EsChannel>* getChannels() { return (Array<EsChannel>*)EdgeSeparationCtrl_getChannels(this); }
  6094. /*Create an EdgeSeparationCtrl. Note: Use 'dispose' to free the object*/
  6095. static EdgeSeparationCtrl * Create(void) { return EdgeSeparationCtrl_Create(); }
  6096. private:
  6097. DAQCLS_DISABLE_CONSTRUCT(EdgeSeparationCtrl)
  6098. };
  6099. /*************************************************************/
  6100. /* ctrl class : Calibration related */
  6101. /* ----------------------------------------------------------*/
  6102. /* Interface CaliSubject */
  6103. class CaliSubject
  6104. {
  6105. public:
  6106. wchar_t const * getDescription(void) { return CaliSubject_getDescription(this); }
  6107. wchar_t const * getInstruction(void) { return CaliSubject_getInstruction(this); }
  6108. wchar_t const * getTargetRange(void) { return CaliSubject_getTargetRange(this); }
  6109. CaliState AdjCodeGetCurrentState(double *value, int32 *count, int32 code[]) { return CaliSubject_AdjCodeGetCurrentState(this, value, count, code); }
  6110. void AdjCodeGetRange(int32 lower[], int32 upper[]) { CaliSubject_AdjCodeGetRange(this, lower, upper); }
  6111. ErrorCode ManualAdjStart(void) { return CaliSubject_ManualAdjStart(this); }
  6112. ErrorCode ManualAdjStop(void) { return CaliSubject_ManualAdjStop(this); }
  6113. ErrorCode ManualAdjSetCode(int32 count, int32 code[]) { return CaliSubject_ManualAdjSetCode(this, count, code); }
  6114. private:
  6115. DAQCLS_DISABLE_CONSTRUCT(CaliSubject)
  6116. };
  6117. /* Interface CaliSection */
  6118. class CaliSection
  6119. {
  6120. public:
  6121. wchar_t const * getTypeName(void) { return CaliSection_getTypeName(this); }
  6122. wchar_t const * getDescription(void) { return CaliSection_getDescription(this); }
  6123. wchar_t const * getInstruction(void) { return CaliSection_getInstruction(this); }
  6124. Array<CaliSubject>* getSubjects(void) { return (Array<CaliSubject>*)CaliSection_getSubjects(this);}
  6125. ErrorCode Prepare(void) { return CaliSection_Prepare(this); }
  6126. ErrorCode BatchStart(void) { return CaliSection_BatchStart(this); }
  6127. void BatchTerminate(void) { CaliSection_BatchTerminate(this); }
  6128. private:
  6129. DAQCLS_DISABLE_CONSTRUCT(CaliSection)
  6130. };
  6131. /* Interface CaliSolution */
  6132. class CaliSolution
  6133. {
  6134. public:
  6135. wchar_t const * getTypeName(void) { return CaliSolution_getTypeName(this); }
  6136. wchar_t const * getDescription(void) { return CaliSolution_getDescription(this); }
  6137. wchar_t const * getInstruction(void) { return CaliSolution_getInstruction(this); }
  6138. int8 const * getAuxiliaryImage(int32 *size) { return CaliSolution_getAuxiliaryImage(this, size); }
  6139. Array<CaliSection>* getSections(void) { return (Array<CaliSection>*)CaliSolution_getSections(this);}
  6140. ErrorCode AdjCodesSave(void) { return CaliSolution_AdjCodesSave(this); }
  6141. ErrorCode AdjCodesLoad(void) { return CaliSolution_AdjCodesLoad(this); }
  6142. ErrorCode AdjCodesSaveToGoldBackup(void) { return CaliSolution_AdjCodesSaveToGoldBackup(this); }
  6143. ErrorCode AdjCodesLoadFromGoldBackup(int32 action) { return CaliSolution_AdjCodesLoadFromGoldBackup(this, action); }
  6144. private:
  6145. DAQCLS_DISABLE_CONSTRUCT(CaliSolution)
  6146. };
  6147. /* Interface CalibrationCtrl */
  6148. class CalibrationCtrl : public DaqCtrlBase
  6149. {
  6150. public:
  6151. Array<CaliSolution>* getSolutions(void) { return (Array<CaliSolution>*)CalibrationCtrl_getSolutions(this);}
  6152. ErrorCode setLanguageType(int32 type) { return CalibrationCtrl_setLanguageType(this, type); }
  6153. /*Create an CalibrationCtrl. Note: Use 'dispose' to free the object*/
  6154. static CalibrationCtrl * Create(void) { return CalibrationCtrl_Create(); }
  6155. private:
  6156. DAQCLS_DISABLE_CONSTRUCT(CalibrationCtrl)
  6157. };
  6158. /*************************************************************/
  6159. /* ctrl class : Firmware download related */
  6160. /* ----------------------------------------------------------*/
  6161. /* Interface FirmwareCtrl */
  6162. class FirmwareCtrl
  6163. {
  6164. public:
  6165. wchar_t const * getDescription(void) { return FirmwareCtrl_getDescription(this); }
  6166. wchar_t const * getNotice(void) { return FirmwareCtrl_getNotice(this); }
  6167. wchar_t const * getActivationTitle(void) { return FirmwareCtrl_getActivationTitle(this); }
  6168. wchar_t const * getVersionOnDevice(void) { return FirmwareCtrl_getVersionOnDevice(this); }
  6169. wchar_t const * getVersionOnFile(void) { return FirmwareCtrl_getVersionOnFile(this); }
  6170. int32 getOverwriteProgressing(void) { return FirmwareCtrl_getOverwriteProgressing(this); }
  6171. ErrorCode LoadFwFile(wchar_t const * filePath) { return FirmwareCtrl_LoadFwFile(this, filePath); }
  6172. ErrorCode Overwrite(FwAction action, wchar_t const *activationCode) { return FirmwareCtrl_Overwrite(this, action, activationCode); }
  6173. private:
  6174. DAQCLS_DISABLE_CONSTRUCT(FirmwareCtrl)
  6175. };
  6176. /* Interface FirmwareCtrls */
  6177. class FirmwareCtrls : public DaqCtrlBase
  6178. {
  6179. public:
  6180. Array<FirmwareCtrl>* getFirmwares(void) { return (Array<FirmwareCtrl>*)FirmwareCtrls_getFirmwares(this);}
  6181. ErrorCode setLanguageType(int32 type) { return FirmwareCtrls_setLanguageType(this, type); }
  6182. /*Create an CalibrationCtrl. Note: Use 'dispose' to free the object*/
  6183. static FirmwareCtrls * Create(void) { return FirmwareCtrls_Create(); }
  6184. private:
  6185. DAQCLS_DISABLE_CONSTRUCT(FirmwareCtrls)
  6186. };
  6187. #endif //defined(__cplusplus) && !defined(_BDAQ_C_INTERFACE)
  6188. #endif // DAQNAVI_CORE
  6189. END_NAMEAPCE_AUTOMATION_BDAQ
  6190. #endif /*_BDAQ_COM_LIKE_CLASS_LIB*/