C/C++ API Reference
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
21namespace pw::spi {
22
24
30enum class ChipSelectBehavior : uint8_t {
31 kPerWriteRead,
32 kPerTransaction,
33};
34
50 public:
51 virtual ~ChipSelector() = default;
52
61 virtual Status SetActive(bool active) = 0;
62
68 Status Activate() { return SetActive(true); }
69
75 Status Deactivate() { return SetActive(false); }
76};
77
79
80} // namespace pw::spi
Definition: status.h:120
Definition: chip_selector.h:49
Status Deactivate()
Definition: chip_selector.h:75
virtual Status SetActive(bool active)=0
Status Activate()
Definition: chip_selector.h:68
ChipSelectBehavior
Definition: chip_selector.h:30