| 11 | using namespace MdfLibrary; |
| 12 | using namespace MdfLibrary::ExportFunctions; |
| 13 | void c_example() { |
| 14 | std::cout << "C example" << std::endl; |
| 15 | |
| 16 | { |
| 17 | std::cout << "Write" << std::endl; |
| 18 | auto* Writer = MdfWriterInit(MdfWriterType::Mdf4Basic, "test_c.mf4"); |
| 19 | std::cout << "Writer: " << Writer << std::endl; |
| 20 | auto* Header = MdfWriterGetHeader(Writer); |
| 21 | std::cout << "Header: " << Header << std::endl; |
| 22 | MdfHeaderSetAuthor(Header, "Caller"); |
| 23 | MdfHeaderSetDepartment(Header, "Home Alone"); |
| 24 | MdfHeaderSetDescription(Header, "Testing i"); |
| 25 | MdfHeaderSetProject(Header, "Mdf3WriteHD"); |
| 26 | MdfHeaderSetStartTime(Header, 1000); |
| 27 | MdfHeaderSetSubject(Header, "PXY"); |
| 28 | auto* History = MdfHeaderCreateFileHistory(Header); |
| 29 | MdfFileHistorySetTime(History, 1000000); |
| 30 | MdfFileHistorySetDescription(History, "Initial stuff"); |
| 31 | MdfFileHistorySetToolName(History, "Unit Test"); |
| 32 | MdfFileHistorySetToolVendor(History, "ACME"); |
| 33 | MdfFileHistorySetToolVersion(History, "2.3"); |
| 34 | MdfFileHistorySetUserName(History, "Ducky"); |
| 35 | |
| 36 | { // DataGroup 1 |
| 37 | auto* dg = MdfWriterCreateDataGroup(Writer); |
| 38 | std::cout << "DataGroup: " << dg << std::endl; |
| 39 | auto* cg1 = MdfDataGroupCreateChannelGroup(dg); |
| 40 | std::cout << "ChannelGroup1: " << cg1 << std::endl; |
| 41 | MdfChannelGroupSetName(cg1, "Test 1"); |
| 42 | MdfChannelGroupSetDescription(cg1, "Test channel group"); |
| 43 | auto* cg2 = MdfDataGroupCreateChannelGroup(dg); |
| 44 | std::cout << "ChannelGroup2: " << cg2 << std::endl; |
| 45 | MdfChannelGroupSetName(cg2, "Test 2"); |
| 46 | MdfChannelGroupSetDescription(cg2, "Test channel group"); |
| 47 | |
| 48 | auto* si = MdfChannelGroupCreateSourceInformation(cg1); |
| 49 | std::cout << "SourceInformation: " << si << std::endl; |
| 50 | MdfSourceInformationSetName(si, "SI-Name"); |
| 51 | MdfSourceInformationSetPath(si, "SI-Path"); |
| 52 | MdfSourceInformationSetDescription(si, "SI-Desc"); |
| 53 | MdfSourceInformationSetType(si, SourceType::Bus); |
| 54 | MdfSourceInformationSetBus(si, BusType::Can); |
| 55 | |
| 56 | mdf::IChannel* pChannel1[3]; |
| 57 | { |
| 58 | pChannel1[0] = MdfChannelGroupCreateChannel(cg1); |
| 59 | std::cout << "Channel: " << pChannel1[0] << std::endl; |
| 60 | MdfChannelSetName(pChannel1[0], "Time"); |
| 61 | MdfChannelSetDescription(pChannel1[0], "Time channel"); |
| 62 | MdfChannelSetType(pChannel1[0], ChannelType::Master); |
| 63 | MdfChannelSetSync(pChannel1[0], ChannelSyncType::Time); |
| 64 | MdfChannelSetDataType(pChannel1[0], ChannelDataType::FloatLe); |
| 65 | MdfChannelSetDataBytes(pChannel1[0], 4); |
| 66 | MdfChannelSetUnit(pChannel1[0], "s"); |
| 67 | MdfChannelSetRange(pChannel1[0], 0, 100); |
| 68 | } |
| 69 | |
| 70 | { |