Skip to content

Commit 18e6cc7

Browse files
Merge branch 'dev'
2 parents c1f9f29 + adeb99a commit 18e6cc7

File tree

11 files changed

+31
-60
lines changed

11 files changed

+31
-60
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ project(LetMeCreate)
55

66
set(LETMECREATE_MAJOR_VERSION 1)
77
set(LETMECREATE_MINOR_VERSION 2)
8-
set(LETMECREATE_PATCH_VERSION 0)
8+
set(LETMECREATE_PATCH_VERSION 1)
99
set(LETMECREATE_VERSION ${LETMECREATE_MAJOR_VERSION}.${LETMECREATE_MINOR_VERSION}.${LETMECREATE_PATCH_VERSION})
1010
set(PROJECT_VERSION ${LETMECREATE_VERSION})
1111

Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = "LetMeCreate"
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER = 1.2.0
41+
PROJECT_NUMBER = 1.2.1
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

include/letmecreate/click/air_quality.h

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,12 @@
1313
#include <letmecreate/click/export.h>
1414

1515
/**
16-
* @brief Attach callback triggered if air quality is bad.
17-
*
18-
* Multiple callbacks can be attached to the air click output. Use #gpio_monitor_remove_callback
19-
* to remove them.
16+
* @brief Reads measure from Air Quality Click.
2017
*
2118
* @param mikrobus_index Index of the mikrobus used by the click (see #MIKROBUS_INDEX)
22-
* @param callback Function to call if air quality is bad (must not be null)
23-
* @return callback ID (positive integer) if successful, -1 otherwise.
19+
* @param measure Indicator of air pollution in range 0..65535
20+
* @return 0 if successful, -1 otherwise.
2421
*/
25-
int LETMECREATE_CLICK_EXPORT air_quality_click_set_callback(uint8_t mikrobus_index, void(*callback)(uint8_t));
22+
int LETMECREATE_CLICK_EXPORT air_quality_click_get_measure(uint8_t mikrobus_index, uint16_t *measure);
2623

2724
#endif

include/letmecreate/click/co.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@
3232
#include <letmecreate/click/export.h>
3333

3434
/**
35-
* @brief Reads current PPM for CO in air. Please read data sheet for MQ-7 sensor used in MikroE click. It might
35+
* @brief Reads current measure for CO in air. Please read data sheet for MQ-7 sensor used in MikroE click. It might
3636
* require warmup before proper readings can be received.
3737
*
3838
* @param[in] mikrobus_index Index of the mikrobus used by the click (see #MIKROBUS_INDEX)
39-
* @param[out] concentration current concentration of CO in air given in PPM.
39+
* @param[out] measure current concentration of CO in air in range 0..65535.
4040
* @return 0 if success, -1 if error occurred
4141
*/
42-
int LETMECREATE_CLICK_EXPORT co_click_read_ppm(uint8_t mikrobus_index, float *concentration);
42+
int LETMECREATE_CLICK_EXPORT co_click_get_measure(uint8_t mikrobus_index, uint16_t *measure);
4343

4444
#endif /* __LETMECREATE_CLICK_CO_H__ */

include/letmecreate/click/eve.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ int LETMECREATE_CLICK_EXPORT eve_click_translate(int32_t tx, int32_t ty);
189189
* eve_click_set_matrix must be called to update the bitmap transform matrix.
190190
*
191191
* @param[in] sx signed 16.16 fixed-point x factor
192-
* @param[in] sy signed 16.16 fixed-point x factor
192+
* @param[in] sy signed 16.16 fixed-point y factor
193193
* @return 0 if successful, -1 otherwise.
194194
*/
195195
int LETMECREATE_CLICK_EXPORT eve_click_scale(int32_t sx, int32_t sy);

include/letmecreate/click/opto.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ enum OPTO_CLICK_CHANNEL_INDEX {
2626
* @brief Attach a callback to a channel of the Opto Click.
2727
*
2828
* Channel 2 is not supported on Ci40.
29+
* The callback is called on each edge, the parameter of the callback indicates
30+
* whether it is a raising or falling edge.
2931
*
3032
* @param[in] mikrobus_index Index of the mikrobus (see #MIKROBUS_INDEX)
3133
* @param[in] channel_index Index of the channel (see #OPTO_CLICK_CHANNEL_INDEX)

miscellaneous/Makefile.devel

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
include $(TOPDIR)/rules.mk
22

33
PKG_NAME:=letmecreate
4-
PKG_VERSION:=1.2.0
4+
PKG_VERSION:=1.2.1
55

66
PKG_LICENSE_FILE:=LICENSE
77
PKG_LICENSE:=BSD-3-Clause
@@ -14,6 +14,7 @@ define Package/letmecreate
1414
SECTION:=libs
1515
CATEGORY:=Libraries
1616
TITLE:=LetMeCreate
17+
DEPENDS:=@TARGET_pistachio
1718
endef
1819

1920
define Package/letmecreate/description

miscellaneous/Makefile.stable

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
include $(TOPDIR)/rules.mk
22

33
PKG_NAME:=letmecreate
4-
PKG_VERSION:=1.2.0
4+
PKG_VERSION:=1.2.1
55

66
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
77
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
@@ -20,6 +20,7 @@ define Package/letmecreate
2020
SECTION:=libs
2121
CATEGORY:=Libraries
2222
TITLE:=LetMeCreate
23+
DEPENDS:=@TARGET_pistachio
2324
endef
2425

2526
define Package/letmecreate/description

src/click/air_quality.c

Lines changed: 8 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,21 @@
11
#include <stdio.h>
22
#include <letmecreate/click/air_quality.h>
3-
#include <letmecreate/core/common.h>
4-
#include <letmecreate/core/gpio.h>
5-
#include <letmecreate/core/gpio_monitor.h>
3+
#include <letmecreate/core/adc.h>
64

75

8-
int air_quality_click_set_callback(uint8_t mikrobus_index, void(*callback)(uint8_t))
6+
int air_quality_click_get_measure(uint8_t mikrobus_index, uint16_t *measure)
97
{
10-
uint8_t output_pin = 0;
11-
int callback_ID;
8+
float tmp = 0.f;
129

13-
if (callback == NULL) {
14-
fprintf(stderr, "air quality: Callback must not be null.\n");
10+
if (measure == NULL) {
11+
fprintf(stderr, "air quality: Cannot store measure using null pointer.\n");
1512
return -1;
1613
}
1714

18-
switch (mikrobus_index) {
19-
case MIKROBUS_1:
20-
output_pin = MIKROBUS_1_AN;
21-
break;
22-
case MIKROBUS_2:
23-
output_pin = MIKROBUS_2_AN;
24-
break;
25-
default:
26-
fprintf(stderr, "air quality: Invalid mikrobus index.\n");
27-
return -1;
28-
}
29-
30-
if (gpio_init(output_pin) < 0
31-
|| gpio_set_direction(output_pin, GPIO_INPUT) < 0) {
32-
fprintf(stderr, "air quality: Failed to configure pin as an input.\n");
33-
return -1;
34-
}
35-
36-
if (gpio_monitor_init() < 0)
15+
if (adc_get_value(mikrobus_index, &tmp) < 0)
3716
return -1;
3817

39-
if ((callback_ID = gpio_monitor_add_callback(output_pin, GPIO_FALLING, callback)) < 0)
40-
fprintf(stderr, "air quality: Failed to add callback.\n");
18+
*measure = (tmp / 5.f) * 65535;
4119

42-
return callback_ID;
20+
return 0;
4321
}

src/click/co.c

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,32 +18,24 @@
1818
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1919
************************************************************************************************************************/
2020

21-
#include <math.h>
2221
#include <stdio.h>
2322
#include <letmecreate/click/co.h>
2423
#include <letmecreate/core/adc.h>
2524

26-
#define Rl (5000.0)
2725

28-
29-
int co_click_read_ppm(uint8_t mikrobus_index, float *concentration)
26+
int co_click_get_measure(uint8_t mikrobus_index, uint16_t *measure)
3027
{
31-
float adc_value;
32-
double Rs, ratio, lgPPM, ppm;
28+
float tmp = 0.f;
3329

34-
if (concentration == NULL) {
35-
fprintf(stderr, "co: Cannot store concentration using null pointer.\n");
30+
if (measure == NULL) {
31+
fprintf(stderr, "co: Cannot store measure using null pointer.\n");
3632
return -1;
3733
}
3834

39-
if (adc_get_value(mikrobus_index, &adc_value) < 0)
35+
if (adc_get_value(mikrobus_index, &tmp) < 0)
4036
return -1;
4137

42-
Rs = Rl * (5.f - adc_value) / adc_value;
43-
ratio = Rs / Rl;
44-
lgPPM = (log10(ratio) * -3.7) + 0.9948;
45-
ppm = pow(10, lgPPM);
46-
*concentration = (float)ppm;
38+
*measure = (tmp / 5.f) * 65535;
4739

4840
return 0;
4941
}

0 commit comments

Comments
 (0)