L4Re Operating System Framework – Interface and Usage Documentation
Loading...
Searching...
No Matches
uart_dcc-v6.h
1/* SPDX-License-Identifier: GPL-2.0-only OR License-Ref-kk-custom */
2/*
3 * Copyright (C) 2023 Kernkonzept GmbH.
4 */
5/*
6 * (c) 2009 Technische Universität Dresden
7 * This file is part of TUD:OS and distributed under the terms of the
8 * GNU General Public License 2.
9 * Please see the COPYING-GPL-2 file for details.
10 */
11#pragma once
12
13#include "uart_base.h"
14
15namespace L4
16{
17 class Uart_dcc_v6 : public Uart
18 {
19 public:
20 explicit Uart_dcc_v6() {}
21 explicit Uart_dcc_v6(unsigned /*base_rate*/) {}
22 bool startup(Io_register_block const *) override;
23 void shutdown() override;
24 bool change_mode(Transfer_mode m, Baud_rate r) override;
25 int get_char(bool blocking = true) const override;
26 int char_avail() const override;
27 int tx_avail() const;
28 void wait_tx_done() const;
29 inline void out_char(char c) const;
30 int write(char const *s, unsigned long count,
31 bool blocking = true) const override;
32 private:
33 unsigned get_status() const;
34 };
35};
L4 low-level kernel interface.