libyggdrasil
v1.0.0
cortex.hpp
Go to the documentation of this file.
1
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
* _____.___. .___ .__.__ *
3
* \__ | | ____ ____ __| _/___________ _____|__| | *
4
* / | |/ ___\ / ___\ / __ |\_ __ \__ \ / ___/ | | *
5
* \____ / /_/ > /_/ > /_/ | | | \// __ \_\___ \| | |__ *
6
* / ______\___ /\___ /\____ | |__| (____ /____ >__|____/ *
7
* \/ /_____//_____/ \/ \/ \/ *
8
* - Asgard - *
9
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
10
* This software can be used by students and other personal of the *
11
* Bern University of Applied Sciences under the terms of the MIT *
12
* license. *
13
* For other persons this software is under the terms of the GNU *
14
* General Public License version 2. *
15
* *
16
* Copyright © 2021, Bern University of Applied Sciences. *
17
* All rights reserved. *
18
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
26
#pragma once
27
28
#include <
cpp/common/types.hpp
>
29
#include <
cpp/common/attributes.hpp
>
30
31
#include <time.h>
32
33
namespace
bsp::core
{
34
39
ALWAYS_INLINE
void
delay
(
u32
ms) {
40
struct
timespec ts;
41
ts.tv_sec = ms / 1
'000;
42
ts.tv_nsec = (ms % 1'
000) * 1
'000'
000;
43
44
int
res;
45
do
{
46
res = nanosleep(&ts, &ts);
47
}
while
(res);
48
}
49
50
}
types.hpp
Commonly used type definitions and helper templates.
ALWAYS_INLINE
#define ALWAYS_INLINE
Definition:
attributes.h:34
u32
uint32_t u32
Definition:
types.h:38
bsp::core
Definition:
cortex.hpp:33
attributes.hpp
Commonly used C++ and GNU attributes.
bsp::core::delay
ALWAYS_INLINE void delay(u32 ms)
Delays execution by a certain number of milliseconds.
Definition:
cortex.hpp:39
Inc
cpp
asgard
core
cortex.hpp
Generated by
1.8.20