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
21namespace pw::spi {
22
28enum class ChipSelectBehavior : uint8_t {
29 kPerWriteRead,
30 kPerTransaction,
31};
32
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
Definition: status.h:85
Definition: chip_selector.h:47
Status Deactivate()
Definition: chip_selector.h:91
virtual Status SetActive(bool active)=0
Status Activate()
Definition: chip_selector.h:78