Commit 5be8c2c20ecb6124adc709e002b86b40fb9636a6

Authored by gperson
1 parent 12cb358a

debut de 5.2, jai cree le driver PINGUI dans src/lufa-truc/LUFA/Drivers/Board/AV…

…R8, que je vais implementer par la suite
src/lufa-LUFA-170418/LUFA/Drivers/Board/AVR8/PINGUI/Board.h 0 → 100644
... ... @@ -0,0 +1,86 @@
  1 +/*
  2 + LUFA Library
  3 + Copyright (C) Dean Camera, 2017.
  4 +
  5 + dean [at] fourwalledcubicle [dot] com
  6 + www.lufa-lib.org
  7 +*/
  8 +
  9 +/*
  10 + Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
  11 +
  12 + Permission to use, copy, modify, distribute, and sell this
  13 + software and its documentation for any purpose is hereby granted
  14 + without fee, provided that the above copyright notice appear in
  15 + all copies and that both that the copyright notice and this
  16 + permission notice and warranty disclaimer appear in supporting
  17 + documentation, and that the name of the author not be used in
  18 + advertising or publicity pertaining to distribution of the
  19 + software without specific, written prior permission.
  20 +
  21 + The author disclaims all warranties with regard to this
  22 + software, including all implied warranties of merchantability
  23 + and fitness. In no event shall the author be liable for any
  24 + special, indirect or consequential damages or any damages
  25 + whatsoever resulting from loss of use, data or profits, whether
  26 + in an action of contract, negligence or other tortious action,
  27 + arising out of or in connection with the use or performance of
  28 + this software.
  29 +*/
  30 +
  31 +/** \file
  32 + * \brief Board specific information header for the Fletchtronics BUMBLEB.
  33 + * \copydetails Group_BoardInfo_BUMBLEB
  34 + *
  35 + * \note This file should not be included directly. It is automatically included as needed by the Board driver
  36 + * dispatch header located in LUFA/Drivers/Board/Board.h.
  37 + */
  38 +
  39 +/** \ingroup Group_BoardInfo
  40 + * \defgroup Group_BoardInfo_BUMBLEB BUMBLEB
  41 + * \brief Board specific information header for the Fletchtronics BUMBLEB.
  42 + *
  43 + * Board specific information header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b).
  44 + *
  45 + * @{
  46 + */
  47 +
  48 +#ifndef __BOARD_BUMBLEB_H__
  49 +#define __BOARD_BUMBLEB_H__
  50 +
  51 + /* Includes: */
  52 + #include "../../../../Common/Common.h"
  53 + #include "../../Buttons.h"
  54 + #include "../../Joystick.h"
  55 + #include "../../LEDs.h"
  56 +
  57 + /* Enable C linkage for C++ Compilers: */
  58 + #if defined(__cplusplus)
  59 + extern "C" {
  60 + #endif
  61 +
  62 + /* Preprocessor Checks: */
  63 + #if !defined(__INCLUDE_FROM_BOARD_H)
  64 + #error Do not include this file directly. Include LUFA/Drivers/Board/Board.h instead.
  65 + #endif
  66 +
  67 + /* Public Interface - May be used in end-application: */
  68 + /* Macros: */
  69 + /** Indicates the board has hardware Buttons mounted. */
  70 + #define BOARD_HAS_BUTTONS
  71 +
  72 + /** Indicates the board has a hardware Joystick mounted. */
  73 + #define BOARD_HAS_JOYSTICK
  74 +
  75 + /** Indicates the board has hardware LEDs mounted. */
  76 + #define BOARD_HAS_LEDS
  77 +
  78 + /* Disable C linkage for C++ Compilers: */
  79 + #if defined(__cplusplus)
  80 + }
  81 + #endif
  82 +
  83 +#endif
  84 +
  85 +/** @} */
  86 +
... ...
src/lufa-LUFA-170418/LUFA/Drivers/Board/AVR8/PINGUI/Buttons.h 0 → 100644
... ... @@ -0,0 +1,105 @@
  1 +/*
  2 + LUFA Library
  3 + Copyright (C) Dean Camera, 2017.
  4 +
  5 + dean [at] fourwalledcubicle [dot] com
  6 + www.lufa-lib.org
  7 +*/
  8 +
  9 +/*
  10 + Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
  11 +
  12 + Permission to use, copy, modify, distribute, and sell this
  13 + software and its documentation for any purpose is hereby granted
  14 + without fee, provided that the above copyright notice appear in
  15 + all copies and that both that the copyright notice and this
  16 + permission notice and warranty disclaimer appear in supporting
  17 + documentation, and that the name of the author not be used in
  18 + advertising or publicity pertaining to distribution of the
  19 + software without specific, written prior permission.
  20 +
  21 + The author disclaims all warranties with regard to this
  22 + software, including all implied warranties of merchantability
  23 + and fitness. In no event shall the author be liable for any
  24 + special, indirect or consequential damages or any damages
  25 + whatsoever resulting from loss of use, data or profits, whether
  26 + in an action of contract, negligence or other tortious action,
  27 + arising out of or in connection with the use or performance of
  28 + this software.
  29 +*/
  30 +
  31 +/** \file
  32 + * \brief Board specific Buttons driver header for the Fletchtronics BUMBLEB.
  33 + * \copydetails Group_Buttons_BUMBLEB
  34 + *
  35 + * \note This file should not be included directly. It is automatically included as needed by the Buttons driver
  36 + * dispatch header located in LUFA/Drivers/Board/Buttons.h.
  37 + */
  38 +
  39 +/** \ingroup Group_Buttons
  40 + * \defgroup Group_Buttons_BUMBLEB BUMBLEB
  41 + * \brief Board specific Buttons driver header for the Fletchtronics BUMBLEB.
  42 + *
  43 + * Board specific buttons driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
  44 + * third-party board does not include any on-board peripherals, but does have an officially recommended external peripheral
  45 + * layout for buttons, LEDs and a Joystick.
  46 + *
  47 + * <table>
  48 + * <tr><th>Name</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>
  49 + * <tr><td>BUTTONS_BUTTON1</td><td>HWB Button</td><td>Low</td><td>PORTD.7</td></tr>
  50 + * </table>
  51 + *
  52 + * @{
  53 + */
  54 +
  55 +#ifndef __BUTTONS_BUMBLEB_H__
  56 +#define __BUTTONS_BUMBLEB_H__
  57 +
  58 + /* Includes: */
  59 + #include "../../../../Common/Common.h"
  60 +
  61 + /* Enable C linkage for C++ Compilers: */
  62 + #if defined(__cplusplus)
  63 + extern "C" {
  64 + #endif
  65 +
  66 + /* Preprocessor Checks: */
  67 + #if !defined(__INCLUDE_FROM_BUTTONS_H)
  68 + #error Do not include this file directly. Include LUFA/Drivers/Board/Buttons.h instead.
  69 + #endif
  70 +
  71 + /* Public Interface - May be used in end-application: */
  72 + /* Macros: */
  73 + /** Button mask for the first button on the board. */
  74 + #define BUTTONS_BUTTON1 (1 << 7)
  75 +
  76 + /* Inline Functions: */
  77 + #if !defined(__DOXYGEN__)
  78 + static inline void Buttons_Init(void)
  79 + {
  80 + DDRD &= ~BUTTONS_BUTTON1;
  81 + PORTD |= BUTTONS_BUTTON1;
  82 + }
  83 +
  84 + static inline void Buttons_Disable(void)
  85 + {
  86 + DDRD &= ~BUTTONS_BUTTON1;
  87 + PORTD &= ~BUTTONS_BUTTON1;
  88 + }
  89 +
  90 + static inline uint8_t Buttons_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
  91 + static inline uint8_t Buttons_GetStatus(void)
  92 + {
  93 + return ((PIND & BUTTONS_BUTTON1) ^ BUTTONS_BUTTON1);
  94 + }
  95 + #endif
  96 +
  97 + /* Disable C linkage for C++ Compilers: */
  98 + #if defined(__cplusplus)
  99 + }
  100 + #endif
  101 +
  102 +#endif
  103 +
  104 +/** @} */
  105 +
... ...
src/lufa-LUFA-170418/LUFA/Drivers/Board/AVR8/PINGUI/Joystick.h 0 → 100644
... ... @@ -0,0 +1,123 @@
  1 +/*
  2 + LUFA Library
  3 + Copyright (C) Dean Camera, 2017.
  4 +
  5 + dean [at] fourwalledcubicle [dot] com
  6 + www.lufa-lib.org
  7 +*/
  8 +
  9 +/*
  10 + Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
  11 +
  12 + Permission to use, copy, modify, distribute, and sell this
  13 + software and its documentation for any purpose is hereby granted
  14 + without fee, provided that the above copyright notice appear in
  15 + all copies and that both that the copyright notice and this
  16 + permission notice and warranty disclaimer appear in supporting
  17 + documentation, and that the name of the author not be used in
  18 + advertising or publicity pertaining to distribution of the
  19 + software without specific, written prior permission.
  20 +
  21 + The author disclaims all warranties with regard to this
  22 + software, including all implied warranties of merchantability
  23 + and fitness. In no event shall the author be liable for any
  24 + special, indirect or consequential damages or any damages
  25 + whatsoever resulting from loss of use, data or profits, whether
  26 + in an action of contract, negligence or other tortious action,
  27 + arising out of or in connection with the use or performance of
  28 + this software.
  29 +*/
  30 +
  31 +/** \file
  32 + * \brief Board specific joystick driver header for the Fletchtronics BUMBLEB.
  33 + * \copydetails Group_Joystick_BUMBLEB
  34 + *
  35 + * \note This file should not be included directly. It is automatically included as needed by the joystick driver
  36 + * dispatch header located in LUFA/Drivers/Board/Joystick.h.
  37 + */
  38 +
  39 +/** \ingroup Group_Joystick
  40 + * \defgroup Group_Joystick_BUMBLEB BUMBLEB
  41 + * \brief Board specific joystick driver header for the Fletchtronics BUMBLEB.
  42 + *
  43 + * Board specific joystick driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
  44 + * third-party board does not include any on-board peripherals, but does have an officially recommended external peripheral
  45 + * layout for buttons, LEDs and a Joystick.
  46 + *
  47 + * <table>
  48 + * <tr><th>Left Port Pin</th><th>Up Port Pin</th><th>Right Port Pin</th><th>Down Port Pin</th><th>Press Port Pin</th></tr>
  49 + * <tr><td>PORTD.2</td><td>PORTD.3</td><td>PORTD.0</td><td>PORTD.1</td><td>PORTD.4</td></tr>
  50 + * </table>
  51 + *
  52 + * @{
  53 + */
  54 +
  55 +#ifndef __JOYSTICK_BUMBLEB_H__
  56 +#define __JOYSTICK_BUMBLEB_H__
  57 +
  58 + /* Includes: */
  59 + #include "../../../../Common/Common.h"
  60 +
  61 + /* Enable C linkage for C++ Compilers: */
  62 + #if defined(__cplusplus)
  63 + extern "C" {
  64 + #endif
  65 +
  66 + /* Preprocessor Checks: */
  67 + #if !defined(__INCLUDE_FROM_JOYSTICK_H)
  68 + #error Do not include this file directly. Include LUFA/Drivers/Board/Joystick.h instead.
  69 + #endif
  70 +
  71 + /* Private Interface - For use in library only: */
  72 + #if !defined(__DOXYGEN__)
  73 + /* Macros: */
  74 + #define JOY_MASK ((1 << 0) | (1 << 1) | (1 << 2) | (1 << 3) | (1 << 4))
  75 + #endif
  76 +
  77 + /* Public Interface - May be used in end-application: */
  78 + /* Macros: */
  79 + /** Mask for the joystick being pushed in the left direction. */
  80 + #define JOY_LEFT (1 << 2)
  81 +
  82 + /** Mask for the joystick being pushed in the upward direction. */
  83 + #define JOY_UP (1 << 3)
  84 +
  85 + /** Mask for the joystick being pushed in the right direction. */
  86 + #define JOY_RIGHT (1 << 0)
  87 +
  88 + /** Mask for the joystick being pushed in the downward direction. */
  89 + #define JOY_DOWN (1 << 1)
  90 +
  91 + /** Mask for the joystick being pushed inward. */
  92 + #define JOY_PRESS (1 << 4)
  93 +
  94 + /* Inline Functions: */
  95 + #if !defined(__DOXYGEN__)
  96 + static inline void Joystick_Init(void)
  97 + {
  98 + DDRD &= ~JOY_MASK;
  99 + PORTD |= JOY_MASK;
  100 + }
  101 +
  102 + static inline void Joystick_Disable(void)
  103 + {
  104 + DDRD &= ~JOY_MASK;
  105 + PORTD &= ~JOY_MASK;
  106 + }
  107 +
  108 + static inline uint8_t Joystick_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
  109 + static inline uint8_t Joystick_GetStatus(void)
  110 + {
  111 + return (uint8_t)(~PIND & JOY_MASK);
  112 + }
  113 + #endif
  114 +
  115 + /* Disable C linkage for C++ Compilers: */
  116 + #if defined(__cplusplus)
  117 + }
  118 + #endif
  119 +
  120 +#endif
  121 +
  122 +/** @} */
  123 +
... ...
src/lufa-LUFA-170418/LUFA/Drivers/Board/AVR8/PINGUI/LEDs.h 0 → 100644
... ... @@ -0,0 +1,149 @@
  1 +/*
  2 + LUFA Library
  3 + Copyright (C) Dean Camera, 2017.
  4 +
  5 + dean [at] fourwalledcubicle [dot] com
  6 + www.lufa-lib.org
  7 +*/
  8 +
  9 +/*
  10 + Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
  11 +
  12 + Permission to use, copy, modify, distribute, and sell this
  13 + software and its documentation for any purpose is hereby granted
  14 + without fee, provided that the above copyright notice appear in
  15 + all copies and that both that the copyright notice and this
  16 + permission notice and warranty disclaimer appear in supporting
  17 + documentation, and that the name of the author not be used in
  18 + advertising or publicity pertaining to distribution of the
  19 + software without specific, written prior permission.
  20 +
  21 + The author disclaims all warranties with regard to this
  22 + software, including all implied warranties of merchantability
  23 + and fitness. In no event shall the author be liable for any
  24 + special, indirect or consequential damages or any damages
  25 + whatsoever resulting from loss of use, data or profits, whether
  26 + in an action of contract, negligence or other tortious action,
  27 + arising out of or in connection with the use or performance of
  28 + this software.
  29 +*/
  30 +
  31 +/** \file
  32 + * \brief Board specific LED driver header for the Fletchtronics BUMBLEB.
  33 + * \copydetails Group_LEDs_BUMBLEB
  34 + *
  35 + * \note This file should not be included directly. It is automatically included as needed by the LEDs driver
  36 + * dispatch header located in LUFA/Drivers/Board/LEDs.h.
  37 + */
  38 +
  39 +/** \ingroup Group_LEDs
  40 + * \defgroup Group_LEDs_BUMBLEB BUMBLEB
  41 + * \brief Board specific LED driver header for the Fletchtronics BUMBLEB.
  42 + *
  43 + * Board specific LED driver header for the Fletchtronics BUMBLEB (http://fletchtronics.net/bumble-b). The BUMBLEB
  44 + * third-party board does not include any on-board peripherals, but does have an officially recommended external
  45 + * peripheral layout for buttons, LEDs and a Joystick.
  46 + *
  47 + * <table>
  48 + * <tr><th>Name</th><th>Color</th><th>Info</th><th>Active Level</th><th>Port Pin</th></tr>
  49 + * <tr><td>LEDS_LED1</td><td>N/A</td><td>User Supplied</td><td>High</td><td>PORTB.4</td></tr>
  50 + * <tr><td>LEDS_LED2</td><td>N/A</td><td>User Supplied</td><td>High</td><td>PORTB.5</td></tr>
  51 + * <tr><td>LEDS_LED3</td><td>N/A</td><td>User Supplied</td><td>High</td><td>PORTB.6</td></tr>
  52 + * <tr><td>LEDS_LED4</td><td>N/A</td><td>User Supplied</td><td>High</td><td>PORTB.7</td></tr>
  53 + * </table>
  54 + *
  55 + * @{
  56 + */
  57 +
  58 +#ifndef __LEDS_BUMBLEB_H__
  59 +#define __LEDS_BUMBLEB_H__
  60 +
  61 + /* Includes: */
  62 + #include "../../../../Common/Common.h"
  63 +
  64 + /* Enable C linkage for C++ Compilers: */
  65 + #if defined(__cplusplus)
  66 + extern "C" {
  67 + #endif
  68 +
  69 + /* Preprocessor Checks: */
  70 + #if !defined(__INCLUDE_FROM_LEDS_H)
  71 + #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead.
  72 + #endif
  73 +
  74 + /* Public Interface - May be used in end-application: */
  75 + /* Macros: */
  76 + /** LED mask for the first LED on the board. */
  77 + #define LEDS_LED1 (1 << 4)
  78 +
  79 + /** LED mask for the second LED on the board. */
  80 + #define LEDS_LED2 (1 << 5)
  81 +
  82 + /** LED mask for the third LED on the board. */
  83 + #define LEDS_LED3 (1 << 6)
  84 +
  85 + /** LED mask for the fourth LED on the board. */
  86 + #define LEDS_LED4 (1 << 7)
  87 +
  88 + /** LED mask for all the LEDs on the board. */
  89 + #define LEDS_ALL_LEDS (LEDS_LED1 | LEDS_LED2 | LEDS_LED3 | LEDS_LED4)
  90 +
  91 + /** LED mask for none of the board LEDs. */
  92 + #define LEDS_NO_LEDS 0
  93 +
  94 + /* Inline Functions: */
  95 + #if !defined(__DOXYGEN__)
  96 + static inline void LEDs_Init(void)
  97 + {
  98 + DDRB |= LEDS_ALL_LEDS;
  99 + PORTB &= ~LEDS_ALL_LEDS;
  100 + }
  101 +
  102 + static inline void LEDs_Disable(void)
  103 + {
  104 + DDRB &= ~LEDS_ALL_LEDS;
  105 + PORTB &= ~LEDS_ALL_LEDS;
  106 + }
  107 +
  108 + static inline void LEDs_TurnOnLEDs(const uint8_t LedMask)
  109 + {
  110 + PORTB |= LedMask;
  111 + }
  112 +
  113 + static inline void LEDs_TurnOffLEDs(const uint8_t LedMask)
  114 + {
  115 + PORTB &= ~LedMask;
  116 + }
  117 +
  118 + static inline void LEDs_SetAllLEDs(const uint8_t LedMask)
  119 + {
  120 + PORTB = ((PORTB & ~LEDS_ALL_LEDS) | LedMask);
  121 + }
  122 +
  123 + static inline void LEDs_ChangeLEDs(const uint8_t LedMask,
  124 + const uint8_t ActiveMask)
  125 + {
  126 + PORTB = ((PORTB & ~LedMask) | ActiveMask);
  127 + }
  128 +
  129 + static inline void LEDs_ToggleLEDs(const uint8_t LEDMask)
  130 + {
  131 + PINB = LEDMask;
  132 + }
  133 +
  134 + static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT;
  135 + static inline uint8_t LEDs_GetLEDs(void)
  136 + {
  137 + return (PORTB & LEDS_ALL_LEDS);
  138 + }
  139 + #endif
  140 +
  141 + /* Disable C linkage for C++ Compilers: */
  142 + #if defined(__cplusplus)
  143 + }
  144 + #endif
  145 +
  146 +#endif
  147 +
  148 +/** @} */
  149 +
... ...