]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lib.git/blobdiff - rpp/include/rpp/gio.h
Add RPP interface for Digital IO
[pes-rpp/rpp-lib.git] / rpp / include / rpp / gio.h
index b2fc6a77013701d5a39cb95e80fbde4d0c4960bf..83a89ba20c9f1fd359712d8ce857c783b1dc5567 100644 (file)
@@ -8,7 +8,7 @@
 #ifndef GIO_H_
 #define GIO_H_
 
-#include "drv/digital_io.h"
+#include "types.h"
 
 #define RPP_GIO_PORT_GIOA   0x2
 #define RPP_GIO_PORT_GIOB   0x4
 
 int8_t rpp_gio_init(uint32_t init_ports);
 
+int8_t rpp_gio_set_val(const char* pin_name, uint8_t value);
+
+int8_t rpp_gio_get_val(const char* pin_name);
+
+int8_t rpp_gio_set_output(const char* pin_name, uint8_t value);
+
+int8_t rpp_gio_set_input(const char* pin_name);
+
+int8_t rpp_gio_set_push_pull(const char* pin_name, boolean_t pull_up);
+
+int8_t rpp_gio_set_open_drain(const char* pin_name);
+
+int8_t rpp_gio_set_pull_up(const char* pin_name);
+
+int8_t rpp_gio_set_pull_down(const char* pin_name);
+
+boolean_t rpp_gio_is_dir_output(const char* pin_name);
+
+boolean_t rpp_gio_is_push_pull(const char* pin_name);
+
+boolean_t rpp_gio_is_pull_up(const char* pin_name);
+
+uint32_t rpp_gio_get_pin_cnt();
+
+int8_t rpp_gio_get_pin_names(const char** pin_names, uint8_t max_names_cnt);
+
+int8_t rpp_port_set_val(const char* port_name, uint8_t port_num_vals, const uint32_t* values);
+
+int8_t rpp_port_get_val(const char* port_name, uint8_t port_num_vals, uint32_t* values);
+
+int32_t rpp_port_get_pin_cnt(const char* port_name);
+
+int32_t rpp_port_get_port_cnt();
+
+int8_t rpp_port_get_port_names(const char** port_names, uint8_t max_names_cnt);
+
+int8_t rpp_port_get_interface_type(const char* port_name);
+
+
 #endif /* GIO_H_ */