Private
Public Access
2
0

mraa.c: Add mraa_get_platform_version call

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Brendan Le Foll
2016-01-20 15:58:06 +00:00
parent caebb8b1fb
commit bdb5ef66e9
8 changed files with 55 additions and 9 deletions

View File

@@ -1,7 +1,7 @@
/*
* Author: Brendan Le Foll <brendan.le.foll@intel.com>
* Author: Thomas Ingleby <thomas.c.ingleby@intel.com>
* Copyright (c) 2014 Intel Corporation.
* Copyright (c) 2014-2016 Intel Corporation.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
@@ -51,6 +51,7 @@ mraa_board_t* plat = NULL;
mraa_iio_info_t* plat_iio = NULL;
static char platform_name[MAX_PLATFORM_NAME_LENGTH];
static char* platform_long_name;
static int num_i2c_devices = 0;
static int num_iio_devices = 0;
@@ -473,6 +474,19 @@ mraa_get_platform_name()
return platform_name;
}
const char*
mraa_get_platform_version(int platform_offset)
{
if (plat == NULL) {
return NULL;
}
if (platform_offset == MRAA_MAIN_PLATFORM_OFFSET) {
return plat->platform_version;
} else {
return plat->sub_platform->platform_version;
}
}
int
mraa_get_i2c_bus_count()
{

View File

@@ -1,6 +1,7 @@
/*
* Author: Thomas Ingleby <thomas.c.ingleby@intel.com>
* Copyright (c) 2014 Intel Corporation.
* Brendan Le Foll <brendan.le.foll@intel.com>
* Copyright (c) 2014-2016 Intel Corporation.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
@@ -1173,6 +1174,7 @@ mraa_intel_edison_fab_c()
b->phy_pin_count = 20;
b->gpio_count = 14;
b->aio_count = 6;
b->platform_version = "arduino";
b->adv_func = (mraa_adv_func_t*) calloc(1, sizeof(mraa_adv_func_t));
if (b->adv_func == NULL) {

View File

@@ -84,7 +84,7 @@ mraa_get_pin_index(mraa_board_t* board, char* name, int* pin_index)
}
mraa_board_t*
mraa_intel_minnowboard_byt_compatible()
mraa_intel_minnowboard_byt_compatible(mraa_boolean_t turbot)
{
mraa_board_t* b = (mraa_board_t*) calloc(1, sizeof(mraa_board_t));
@@ -96,6 +96,11 @@ mraa_intel_minnowboard_byt_compatible()
}
b->platform_name = PLATFORM_NAME;
if (turbot) {
b->platform_version = "Turbot";
} else {
b->platform_version = "Ax";
}
b->phy_pin_count = MRAA_INTEL_MINNOW_MAX_PINCOUNT;
b->gpio_count = MRAA_INTEL_MINNOW_MAX_PINCOUNT;

View File

@@ -1,6 +1,7 @@
/*
* Author: Thomas Ingleby <thomas.c.ingleby@intel.com>
* Copyright (c) 2014 Intel Corporation.
* Brendan Le Foll <brendan.le.foll@intel.com>
* Copyright (c) 2014-2016 Intel Corporation.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
@@ -64,19 +65,19 @@ mraa_x86_platform()
plat = mraa_intel_nuc5();
} else if (strncmp(line, "NOTEBOOK", 8) == 0) {
platform_type = MRAA_INTEL_MINNOWBOARD_MAX;
plat = mraa_intel_minnowboard_byt_compatible();
plat = mraa_intel_minnowboard_byt_compatible(0);
} else if (strncasecmp(line, "MinnowBoard MAX", 15) == 0) {
platform_type = MRAA_INTEL_MINNOWBOARD_MAX;
plat = mraa_intel_minnowboard_byt_compatible();
plat = mraa_intel_minnowboard_byt_compatible(0);
} else if (strncasecmp(line, "Galileo", 7) == 0) {
platform_type = MRAA_INTEL_GALILEO_GEN1;
plat = mraa_intel_galileo_rev_d();
} else if (strncasecmp(line, "MinnowBoard Compatible", 22) == 0) {
platform_type = MRAA_INTEL_MINNOWBOARD_MAX;
plat = mraa_intel_minnowboard_byt_compatible();
plat = mraa_intel_minnowboard_byt_compatible(1);
} else if (strncasecmp(line, "MinnowBoard Turbot", 18) == 0) {
platform_type = MRAA_INTEL_MINNOWBOARD_MAX;
plat = mraa_intel_minnowboard_byt_compatible();
plat = mraa_intel_minnowboard_byt_compatible(1);
} else {
syslog(LOG_ERR, "Platform not supported, not initialising");
platform_type = MRAA_UNKNOWN_PLATFORM;