Dawn Framework
1.0
Universal data acquisition framework for embedded systems
dawn
src
porting
nuttx
rgbled.cxx
1
// dawn/src/porting/nuttx/rgbled.cxx
2
//
3
// SPDX-License-Identifier: Apache-2.0
4
//
5
6
#include "dawn/porting/rgbled.hxx"
7
8
#include <errno.h>
9
#include <fcntl.h>
10
#include <unistd.h>
11
12
#include "dawn/debug.hxx"
13
14
//***************************************************************************
15
// Public Functions
16
//***************************************************************************
17
18
//***************************************************************************
19
// Name: rgbled_open
20
//***************************************************************************
21
22
int
rgbled_open(
const
char
*path)
23
{
24
int
fd;
25
26
fd = open(path, O_RDWR);
27
DAWNINFO(
"RGBLED: open %s %d\n"
, path, fd);
28
if
(fd < 0)
29
{
30
DAWNERR(
"Failed to open RGBLED file %s (error %d)\n"
, path, fd);
31
return
-EIO;
32
}
33
34
return
fd;
35
}
36
37
//***************************************************************************
38
// Name: rgbled_close
39
//***************************************************************************
40
41
void
rgbled_close(
int
fd)
42
{
43
if
(fd >= 0)
44
{
45
close(fd);
46
}
47
}
48
49
//***************************************************************************
50
// Name: rgbled_write
51
//***************************************************************************
52
53
int
rgbled_write(
int
fd,
const
char
*rgb,
size_t
len)
54
{
55
ssize_t ret;
56
57
ret = write(fd, rgb, len);
58
if
(ret < 0)
59
{
60
return
-errno;
61
}
62
63
if
(
static_cast<
size_t
>
(ret) != len)
64
{
65
return
-EIO;
66
}
67
68
return
OK;
69
}
Generated by
1.9.8