summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2012-08-25 15:49:08 +0900
committertmk <nobody@nowhere>2012-08-28 21:56:15 +0900
commitc5060ea81942b0e3f8577536ff78402a19abe3d3 (patch)
treebcdd4cd269be3064982014b0afdc0aea628d7048 /common
parent9382bf2f765cfbb8f7a9a48157391cac2bb71780 (diff)
test build of 'Host shield' in minimal env.
Diffstat (limited to 'common')
-rw-r--r--common/debug.h19
-rw-r--r--common/host.h8
-rw-r--r--common/keyboard.h6
-rw-r--r--common/print.h13
-rw-r--r--common/sendchar.h8
-rw-r--r--common/timer.h12
6 files changed, 57 insertions, 9 deletions
diff --git a/common/debug.h b/common/debug.h
index 230d3b3499..9cc8d882f3 100644
--- a/common/debug.h
+++ b/common/debug.h
@@ -18,19 +18,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef DEBUG_H
#define DEBUG_H 1
+#include <stdbool.h>
#include "print.h"
-#define debug(s) if(debug_enable) print(s)
+#define debug(s) if(debug_enable) print_P(PSTR(s))
#define debug_hex(c) if(debug_enable) phex(c)
#define debug_hex16(i) if(debug_enable) phex16(i)
#define debug_bin(c) if(debug_enable) pbin(c)
#define debug_bin_reverse(c) if(debug_enable) pbin_reverse(c)
-bool debug_enable;
-bool debug_matrix;
-bool debug_keyboard;
-bool debug_mouse;
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern bool debug_enable;
+extern bool debug_matrix;
+extern bool debug_keyboard;
+extern bool debug_mouse;
+
+#ifdef __cplusplus
+}
+#endif
#endif
diff --git a/common/host.h b/common/host.h
index 11b9aacd7c..26bf3c362f 100644
--- a/common/host.h
+++ b/common/host.h
@@ -23,6 +23,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "host_driver.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef NKRO_ENABLE
extern bool keyboard_nkro;
#endif
@@ -54,4 +58,8 @@ void host_mouse_send(report_mouse_t *report);
void host_system_send(uint16_t data);
void host_consumer_send(uint16_t data);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/common/keyboard.h b/common/keyboard.h
index 988dac36ed..51bf67379a 100644
--- a/common/keyboard.h
+++ b/common/keyboard.h
@@ -21,8 +21,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <stdint.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
void keyboard_init(void);
void keyboard_proc(void);
void keyboard_set_leds(uint8_t leds);
+#ifdef __cplusplus
+}
+#endif
#endif
diff --git a/common/print.h b/common/print.h
index 686fa89acc..d55f5695dc 100644
--- a/common/print.h
+++ b/common/print.h
@@ -29,11 +29,17 @@
#include <avr/pgmspace.h>
-extern bool print_enable;
-
+// avoid collision with arduino/Print.h
+#ifndef __cplusplus
// this macro allows you to write print("some text") and
// the string is automatically placed into flash memory :)
#define print(s) print_P(PSTR(s))
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern bool print_enable;
void print_S(const char *s);
void print_P(const char *s);
@@ -41,5 +47,8 @@ void phex(unsigned char c);
void phex16(unsigned int i);
void pbin(unsigned char c);
void pbin_reverse(unsigned char c);
+#ifdef __cplusplus
+}
+#endif
#endif
diff --git a/common/sendchar.h b/common/sendchar.h
index 7c81303c7a..7a64d00c7f 100644
--- a/common/sendchar.h
+++ b/common/sendchar.h
@@ -21,7 +21,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <stdint.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* transmit a character. return 0 on success, -1 on error. */
int8_t sendchar(uint8_t c);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/common/timer.h b/common/timer.h
index f9e8181e6f..d24d3eab62 100644
--- a/common/timer.h
+++ b/common/timer.h
@@ -23,10 +23,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef TIMER_PRESCALER
# if F_CPU > 16000000
# define TIMER_PRESCALER 256
-# elif F_CPU >= 4000000
+# elif F_CPU > 2000000
# define TIMER_PRESCALER 64
-# else
+# elif F_CPU > 250000
# define TIMER_PRESCALER 8
+# else
+# define TIMER_PRESCALER 1
# endif
#endif
#define TIMER_RAW_FREQ (F_CPU/TIMER_PRESCALER)
@@ -42,6 +44,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define TIMER_DIFF_MS(a, b) TIMER_DIFF(a, b, UINT16_MAX)
+#ifdef __cplusplus
+extern "C" {
+#endif
extern volatile uint16_t timer_count;
@@ -49,5 +54,8 @@ void timer_init(void);
void timer_clear(void);
uint16_t timer_read(void);
uint16_t timer_elapsed(uint16_t last);
+#ifdef __cplusplus
+}
+#endif
#endif