hellomraa.c: Extended sample to display detected platform.
[contrib/mraa.git] / examples / hellomraa.c
1 /*
2  * Author: Brendan Le Foll <brendan.le.foll@intel.com>
3  * Copyright (c) 2014 Intel Corporation.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining
6  * a copy of this software and associated documentation files (the
7  * "Software"), to deal in the Software without restriction, including
8  * without limitation the rights to use, copy, modify, merge, publish,
9  * distribute, sublicense, and/or sell copies of the Software, and to
10  * permit persons to whom the Software is furnished to do so, subject to
11  * the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be
14  * included in all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  */
24
25 #include <stdio.h>
26 #include <syslog.h>
27 #include <string.h>
28 //! [Interesting]
29 #include "mraa.h"
30
31 int
32 main(int argc, char **argv)
33 {
34     mraa_result_t ret;
35     char board_name[64];
36     mraa_platform_t platform = mraa_get_platform_type();
37     ret = mraa_set_log_level(LOG_DEBUG);
38
39     switch (platform) {
40         case MRAA_INTEL_GALILEO_GEN1:
41             strcpy(board_name, "Intel Galileo Gen1");
42             break;
43         case MRAA_INTEL_GALILEO_GEN2:
44             strcpy(board_name, "Intel Galileo Gen2");
45             break;
46         case MRAA_INTEL_EDISON_FAB_C:
47             strcpy(board_name, "Edison Fab C");
48             break;
49         case MRAA_INTEL_DE3815:
50             strcpy(board_name, "Intel DE3815");
51             break;
52         case MRAA_INTEL_MINNOWBOARD_MAX:
53             strcpy(board_name, "Intel Minnowboard Max");
54             break;
55         default:
56             strcpy(board_name, "Unknown board");
57     }
58
59
60     fprintf(stdout, "hello mraa\n Version: %s\n Running on %s\n", mraa_get_version(), board_name);
61
62
63     mraa_deinit();
64
65     return ret;
66 }
67 //! [Interesting]