OSCR
Open Source Cartridge Reader
Loading...
Searching...
No Matches
pins.h
1/********************************************************************
2* Open Source Cartridge Reader *
3********************************************************************/
4#pragma once
5#ifndef OSCR_MEGA2560_PINS_H_
6# define OSCR_MEGA2560_PINS_H_
7
8# include "arch/avr/syslibinc.h"
9
10# if defined(OSCR_ARCH_AVR)
11
12# define BANKSET_SUPPORTED_BANKS 4
13
14namespace OSCR::Hardware
15{
16 enum class PinBank : uint8_t
17 {
18 SetA = 0, // [0] Bank A
19 SetC, // [1] Bank C
20 SetF, // [2] Bank F
21 SetH, // [3] Bank H
22 SetK, // [4] Bank K
23 SetL, // [5] Bank L
24
25 // Used pin by pin
26 SetG, // [6] Bank G
27 };
28
29 enum class Port : uint8_t
30 {
31 SetA = 0, // [0] Bank A
32 SetB, // [1] Bank B
33 SetC, // [1] Bank C
34 SetD, // [1] Bank D
35 SetE, // [1] Bank E
36 SetF, // [2] Bank F
37 SetG, // [2] Bank G
38 SetH, // [3] Bank H
39 SetJ, // [3] Bank J
40 SetK, // [4] Bank K
41 SetL, // [5] Bank L
42 };
43
44 enum class Pins
45 {
46 // ...
47 };
48
49 constexpr uint8_t const kTotalPinBanks = 7;
50 constexpr uint8_t const kAvailablePinBanks = 6;
51 constexpr uint8_t const kBanksetSupportedBanks = BANKSET_SUPPORTED_BANKS;
52}
53
54# endif /* OSCR_ARCH_AVR */
55
56#endif /* OSCR_MEGA2560_PINS_H_ */