root / lab2 / include / utils.h @ 373
History | View | Annotate | Download (1.78 KB)
1 | 196 | up20180642 | #ifndef UTILS_H_INCLUDED
|
---|---|---|---|
2 | #define UTILS_H_INCLUDED
|
||
3 | |||
4 | /**
|
||
5 | * @brief Gets the least significant byte of a 16-bit variable
|
||
6 | * @param val 16-bit variable
|
||
7 | * @param lsb Pointer to a 8-bit variable to store the value of the LSB
|
||
8 | * @return ERROR_CODE code representing the result of the operation, SUCCESS code is returned if everything is OK
|
||
9 | */
|
||
10 | int(util_get_LSB)(uint16_t val, uint8_t *lsb);
|
||
11 | |||
12 | /**
|
||
13 | * @brief Gets the most significant byte of a 16-bit variable
|
||
14 | * @param val 16-bit variable
|
||
15 | * @param lsb Pointer to a 8-bit variable to store the value of the MSB
|
||
16 | * @return ERROR_CODE code representing the result of the operation, SUCCESS code is returned if everything is OK
|
||
17 | */
|
||
18 | int(util_get_MSB)(uint16_t val, uint8_t *msb);
|
||
19 | |||
20 | 198 | up20180642 | #ifdef LAB3
|
21 | uint32_t sys_inb_counter; |
||
22 | #endif
|
||
23 | |||
24 | 196 | up20180642 | /**
|
25 | * @brief sys_inb wrapper
|
||
26 | * @param port Port to read from
|
||
27 | * @param value Pointer to byte to store value read
|
||
28 | * @return ERROR_CODE code representing the result of the operation, SUCCESS code is returned if everything is OK
|
||
29 | */
|
||
30 | int (util_sys_inb)(int port, uint8_t *value); |
||
31 | |||
32 | /**
|
||
33 | * @brief Unsubcribes Interrupts
|
||
34 | * @param interrupt_id Interrupt ID, value via arguments on subscription of the interrupt_id
|
||
35 | * @see subscribe_kbc_interrupt, subscribe_timer_interrupt
|
||
36 | * @return ERROR_CODE code representing the result of the operation, SUCCESS code is returned if everything is OK
|
||
37 | */
|
||
38 | int (unsubscribe_interrupt)(int *interrupt_id); |
||
39 | |||
40 | /**
|
||
41 | * @brief Gets the minimum value out of two values.
|
||
42 | * @param a First value
|
||
43 | * @param b Second value
|
||
44 | * @return The minimum of the two values
|
||
45 | */
|
||
46 | int32_t min(int32_t a, int32_t b); |
||
47 | |||
48 | /**
|
||
49 | * @brief Gets the maximum value out of two values.
|
||
50 | * @param a First value
|
||
51 | * @param b Second value
|
||
52 | * @return The maximum of the two values
|
||
53 | */
|
||
54 | int32_t max(int32_t a, int32_t b); |
||
55 | |||
56 | |||
57 | #endif //UTILS_H_INCLUDED |