SatNOGS-COMMS
4.1.0
A COMMS subsystem for CubeSats
Toggle main menu visibility
Loading...
Searching...
No Matches
i2c.hpp
Go to the documentation of this file.
1
/*
2
* SatNOGS-COMMS Control Library
3
*
4
* Copyright (C) 2023-2024, Libre Space Foundation <http://libre.space>
5
*
6
* This program is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18
*
19
* SPDX-License-Identifier: GNU General Public License v3.0 or later
20
*/
21
22
#pragma once
23
24
#include <cstddef>
25
#include <cstdint>
26
27
namespace
satnogs::comms::lib::bsp
28
{
39
class
i2c
40
{
41
public
:
45
i2c
() {}
46
~i2c
() {}
47
57
virtual
void
58
read
(uint16_t addr, uint8_t *rx,
size_t
rxlen,
const
uint8_t *tx,
59
size_t
txlen) = 0;
60
69
virtual
void
70
read
(uint16_t addr, uint8_t start_addr, uint8_t *rx,
size_t
len) = 0;
71
79
virtual
void
80
write
(uint16_t addr,
const
uint8_t *tx,
size_t
len) = 0;
81
90
virtual
void
91
write
(uint16_t addr, uint8_t start_addr,
const
uint8_t *tx,
size_t
len) = 0;
92
};
93
94
}
// namespace satnogs::comms::lib::bsp
satnogs::comms::lib::bsp::i2c::read
virtual void read(uint16_t addr, uint8_t *rx, size_t rxlen, const uint8_t *tx, size_t txlen)=0
Performs an I2C read operation.
satnogs::comms::lib::bsp::i2c::write
virtual void write(uint16_t addr, const uint8_t *tx, size_t len)=0
Performs an I2C write operation.
satnogs::comms::lib::bsp::i2c::write
virtual void write(uint16_t addr, uint8_t start_addr, const uint8_t *tx, size_t len)=0
Performs an I2C write operation.
satnogs::comms::lib::bsp::i2c::~i2c
~i2c()
Definition
i2c.hpp:46
satnogs::comms::lib::bsp::i2c::read
virtual void read(uint16_t addr, uint8_t start_addr, uint8_t *rx, size_t len)=0
Simplified I2C read operation.
satnogs::comms::lib::bsp::i2c::i2c
i2c()
Construct a new I2C object.
Definition
i2c.hpp:45
satnogs::comms::lib::bsp
Definition
adc.hpp:26
libsatnogs-comms
include
satnogs-comms-lib
bsp
i2c.hpp
Generated by
1.17.0