Pigweed
Loading...
Searching...
No Matches
chip_selector.h
1
// Copyright 2021 The Pigweed Authors
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
4
// use this file except in compliance with the License. You may obtain a copy of
5
// the License at
6
//
7
// https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
// License for the specific language governing permissions and limitations under
13
// the License.
14
15
#pragma once
16
17
#include <cstdint>
18
19
#include "pw_status/status.h"
20
21
namespace
pw::spi {
22
28
enum class
ChipSelectBehavior : uint8_t {
29
kPerWriteRead,
30
kPerTransaction,
31
};
32
47
class
ChipSelector
{
48
public
:
49
virtual
~ChipSelector
() =
default
;
50
65
virtual
Status
SetActive
(
bool
active) = 0;
66
78
Status
Activate
() {
return
SetActive
(
true
); }
79
91
Status
Deactivate
() {
return
SetActive
(
false
); }
92
};
93
94
}
// namespace pw::spi
pw::Status
Definition:
status.h:85
pw::spi::ChipSelector
Definition:
chip_selector.h:47
pw::spi::ChipSelector::Deactivate
Status Deactivate()
Definition:
chip_selector.h:91
pw::spi::ChipSelector::SetActive
virtual Status SetActive(bool active)=0
pw::spi::ChipSelector::Activate
Status Activate()
Definition:
chip_selector.h:78
pw_spi
public
pw_spi
chip_selector.h
Generated by
1.9.6