aboutsummaryrefslogtreecommitdiff
path: root/contrib/firmware/angie/c/src/delay.c
blob: 471e160dd4e4907fde312e54ada9af30501cb94b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// SPDX-License-Identifier: GPL-2.0-or-later
/****************************************************************************
	File : delay.c															*
	Contents : Delays handling fucntions code for NanoXplore				*
	USB-JTAG ANGIE adapter hardware.										*
	Based on openULINK project code by: Martin Schmoelzer.					*
	Copyright 2023, Ahmed Errached BOUDJELIDA, NanoXplore SAS.				*
	<aboudjelida@nanoxplore.com>											*
	<ahmederrachedbjld@gmail.com>											*
*****************************************************************************/

#include "delay.h"
#include <mcs51/compiler.h>

void syncdelay(uint8_t count)
{
	for (uint8_t i = 0; i < count; i++)
		NOP();
}

void delay_5us(void)
{
	NOP();
}

void delay_1ms(void)
{
	uint16_t i;

	for (i = 0; i < 598; i++)
		;
}

void delay_us(uint16_t delay)
{
	uint16_t i;
	uint16_t maxcount = (delay / 5);

	for (i = 0; i < maxcount; i++)
		delay_5us();
}

void delay_ms(uint16_t delay)
{
	uint16_t i;

	for (i = 0; i < delay; i++)
		delay_1ms();
}