functions for the communication between SOLID slow control modules and Cprograms
getVersion.cpp@12:cf007e9619e1, 2015-10-23 (annotated)
- Committer:
- wbeaumont
- Date:
- Fri Oct 23 11:22:36 2015 +0000
- Revision:
- 12:cf007e9619e1
- Parent:
- 7:6d3c421026df
production version archiving
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wbeaumont | 7:6d3c421026df | 1 | #include "getVersion.h" |
wbeaumont | 12:cf007e9619e1 | 2 | /* |
wbeaumont | 12:cf007e9619e1 | 3 | * (C) Wim Beaumont Univeristeit Antwerpen 2014 , 2015 |
wbeaumont | 12:cf007e9619e1 | 4 | */ |
wbeaumont | 7:6d3c421026df | 5 | |
wbeaumont | 7:6d3c421026df | 6 | #define GETVERSION_SRC_VER "0.10" |
wbeaumont | 7:6d3c421026df | 7 | |
wbeaumont | 7:6d3c421026df | 8 | #include "mbed.h" |
wbeaumont | 7:6d3c421026df | 9 | |
wbeaumont | 7:6d3c421026df | 10 | #define NULL 0 |
wbeaumont | 7:6d3c421026df | 11 | |
wbeaumont | 7:6d3c421026df | 12 | void getVersion::get_dec_version( unsigned short hexversion , unsigned char & version, unsigned char& subversion) { |
wbeaumont | 7:6d3c421026df | 13 | subversion =(unsigned short)( hexversion & 0xFF); |
wbeaumont | 7:6d3c421026df | 14 | hexversion=hexversion >> 8; |
wbeaumont | 7:6d3c421026df | 15 | version =(unsigned char)( hexversion & 0xFF); |
wbeaumont | 7:6d3c421026df | 16 | } |
wbeaumont | 7:6d3c421026df | 17 | |
wbeaumont | 7:6d3c421026df | 18 | |
wbeaumont | 7:6d3c421026df | 19 | |
wbeaumont | 7:6d3c421026df | 20 | unsigned short getVersion::get_hex_version_nr(const char * vers){ |
wbeaumont | 7:6d3c421026df | 21 | float verf = strtof(vers,NULL); |
wbeaumont | 7:6d3c421026df | 22 | unsigned short version=(unsigned short) verf; |
wbeaumont | 7:6d3c421026df | 23 | verf=verf-version; |
wbeaumont | 7:6d3c421026df | 24 | version = version<<8; |
wbeaumont | 7:6d3c421026df | 25 | verf=verf*100; |
wbeaumont | 7:6d3c421026df | 26 | unsigned char sub=(unsigned char)verf; |
wbeaumont | 7:6d3c421026df | 27 | version=version| sub; |
wbeaumont | 7:6d3c421026df | 28 | return version; |
wbeaumont | 7:6d3c421026df | 29 | } |
wbeaumont | 7:6d3c421026df | 30 | |
wbeaumont | 7:6d3c421026df | 31 | |
wbeaumont | 7:6d3c421026df | 32 | |
wbeaumont | 7:6d3c421026df | 33 | |
wbeaumont | 7:6d3c421026df | 34 | |
wbeaumont | 7:6d3c421026df | 35 | |
wbeaumont | 7:6d3c421026df | 36 | unsigned short getVersion::getHdrVersion(){ |
wbeaumont | 7:6d3c421026df | 37 | if( hver == NULL) return get_hex_version_nr(GETVERSION_HDR_VER); |
wbeaumont | 7:6d3c421026df | 38 | else return get_hex_version_nr(hver); |
wbeaumont | 7:6d3c421026df | 39 | } |
wbeaumont | 7:6d3c421026df | 40 | |
wbeaumont | 7:6d3c421026df | 41 | unsigned short getVersion::getSrcVersion(){ |
wbeaumont | 7:6d3c421026df | 42 | if( sver == NULL) return get_hex_version_nr(GETVERSION_SRC_VER); |
wbeaumont | 7:6d3c421026df | 43 | else return get_hex_version_nr(sver); |
wbeaumont | 7:6d3c421026df | 44 | } |
wbeaumont | 7:6d3c421026df | 45 | |
wbeaumont | 7:6d3c421026df | 46 | |
wbeaumont | 7:6d3c421026df | 47 | unsigned short getVersion::getCompileTime(){ |
wbeaumont | 7:6d3c421026df | 48 | if ( ctime == NULL ) return 0; |
wbeaumont | 7:6d3c421026df | 49 | else return 0; |
wbeaumont | 7:6d3c421026df | 50 | } |
wbeaumont | 7:6d3c421026df | 51 | |
wbeaumont | 7:6d3c421026df | 52 | |
wbeaumont | 7:6d3c421026df | 53 | unsigned short getVersion::getCompileDate(){ |
wbeaumont | 7:6d3c421026df | 54 | if ( cdate == NULL ) return 0; |
wbeaumont | 7:6d3c421026df | 55 | else return 0; |
wbeaumont | 7:6d3c421026df | 56 | } |
wbeaumont | 7:6d3c421026df | 57 | |
wbeaumont | 7:6d3c421026df | 58 | unsigned short getVersion::getCompileYear(){ |
wbeaumont | 7:6d3c421026df | 59 | |
wbeaumont | 7:6d3c421026df | 60 | if ( cdate == NULL ) return 0; |
wbeaumont | 7:6d3c421026df | 61 | else return 0; |
wbeaumont | 7:6d3c421026df | 62 | } |