Voxia OS
v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
ioforge_int_pipe.hpp
Go to the documentation of this file.
1
#ifndef __IOFORGE__IOFORGE_INT_PIPE_HPP__
2
#define __IOFORGE__IOFORGE_INT_PIPE_HPP__
3
4
#include <
type.h
>
5
6
using
InterruptCallback
= void (*)(
const
uint8_t
*
data
,
size_t
len
);
7
8
struct
USBInterruptPipeDesc
{
9
uint8_t
dev_addr
;
10
uint8_t
endpoint
;
11
uint8_t
speed
;
// 0=Full, 1=Low, 2=High/Super
12
uint16_t
interval_ms
;
// polling interval
13
size_t
buffer_size
;
14
};
15
16
class
USBInterruptPipe
{
17
public
:
18
virtual
~USBInterruptPipe
() =
default
;
19
20
// Mulai polling — callback dipanggil tiap ada data
21
virtual
bool
22
open
(
const
USBInterruptPipeDesc
& desc,
InterruptCallback
cb) = 0;
23
24
// Hentikan polling dan bebaskan resource
25
virtual
void
close
() = 0;
26
27
// // Dipanggil dari interrupt handler controller
28
virtual
void
on_complete
(
uint8_t
* buf,
size_t
len
,
bool
error) = 0;
29
};
30
31
#endif
// __IOFORGE__IOFORGE_INT_PIPE_HPP__
USBInterruptPipe
Definition
ioforge_int_pipe.hpp:16
USBInterruptPipe::on_complete
virtual void on_complete(uint8_t *buf, size_t len, bool error)=0
USBInterruptPipe::~USBInterruptPipe
virtual ~USBInterruptPipe()=default
USBInterruptPipe::close
virtual void close()=0
USBInterruptPipe::open
virtual bool open(const USBInterruptPipeDesc &desc, InterruptCallback cb)=0
data
struct fs_data data
Definition
filesystem.h:1
InterruptCallback
void(*)(const uint8_t *data, size_t len) InterruptCallback
Definition
ioforge_int_pipe.hpp:6
len
size_t len
Definition
oct2bin.h:7
USBInterruptPipeDesc
Definition
ioforge_int_pipe.hpp:8
USBInterruptPipeDesc::interval_ms
uint16_t interval_ms
Definition
ioforge_int_pipe.hpp:12
USBInterruptPipeDesc::speed
uint8_t speed
Definition
ioforge_int_pipe.hpp:11
USBInterruptPipeDesc::endpoint
uint8_t endpoint
Definition
ioforge_int_pipe.hpp:10
USBInterruptPipeDesc::dev_addr
uint8_t dev_addr
Definition
ioforge_int_pipe.hpp:9
USBInterruptPipeDesc::buffer_size
size_t buffer_size
Definition
ioforge_int_pipe.hpp:13
type.h
uint16_t
unsigned short uint16_t
Definition
type.h:13
uint8_t
unsigned char uint8_t
Definition
type.h:7
include
ioforge
ioforge_int_pipe.hpp
Generated on Sat May 30 2026 11:09:57 for Voxia OS by
1.13.2