rusefi-1/firmware/hw_layer/pin_repository.h

48 lines
1.2 KiB
C
Raw Normal View History

2015-07-10 06:01:56 -07:00
/**
* @file pin_repository.h
* @brief I/O pin registry header
*
*
*
* @date Jan 15, 2013
2017-01-03 03:05:22 -08:00
* @author Andrey Belomutskiy, (c) 2012-2017
2015-07-10 06:01:56 -07:00
*/
#ifndef PIN_REPOSITORY_H_
#define PIN_REPOSITORY_H_
#include "ch.h"
#include "hal.h"
#include "io_pins.h"
#ifdef __cplusplus
#include "efiGpio.h"
// does not exactly belong here, but that works better for tests
2016-02-04 08:02:13 -08:00
void outputPinRegister(const char *msg, OutputPin *output, ioportid_t port, uint32_t pin);
2016-04-03 08:02:57 -07:00
class PinRepository {
public:
PinRepository();
};
2015-07-10 06:01:56 -07:00
#endif /* __cplusplus */
#define PORT_SIZE 16
void initPinRepository(void);
brain_pin_e parseBrainPin(const char *str);
void mySetPadMode(const char *msg, ioportid_t port, ioportmask_t pin, iomode_t mode);
const char *hwPortname(brain_pin_e brainPin);
const char * getPinFunction(brain_input_pin_e brainPin);
void mySetPadMode2(const char *msg, brain_pin_e pin, iomode_t mode);
2016-02-04 08:02:13 -08:00
const char *portname(ioportid_t GPIOx);
2015-07-10 06:01:56 -07:00
void unmarkPin(brain_pin_e brainPin);
iomode_t getInputMode(pin_input_mode_e mode);
void efiIcuStart(ICUDriver *icup, const ICUConfig *config);
ioportmask_t getHwPin(brain_pin_e brainPin);
2016-02-04 08:02:13 -08:00
ioportid_t getHwPort(brain_pin_e brainPin);
2015-07-10 06:01:56 -07:00
#endif /* PIN_REPOSITORY_H_ */