apps/graphics/ft80x: Add basic support for GPIO and configuration for eventual support of FT80x GPIO audio shutdown controls
This commit is contained in:
parent
685d379542
commit
9f6338566f
@ -44,8 +44,9 @@ config GRAPHICS_FT80X_AUDIO_BUFOFFSET
|
||||
When playing an audio file, chunks of the audio file will be stored
|
||||
in a circular buffer in graphics RAM (RAMG G, 256Kb).
|
||||
|
||||
CONFIG_GRAPHICS_FT80X_AUDIO_BUFOFFSET is the starting offset in RAM G for that
|
||||
buffer and CONFIG_FT80x_AUDIO_BUFSIZE is the size of the buffer.
|
||||
CONFIG_GRAPHICS_FT80X_AUDIO_BUFOFFSET is the starting offset in RAM G
|
||||
for that buffer and CONFIG_FT80x_AUDIO_BUFSIZE is the size of the
|
||||
buffer.
|
||||
|
||||
The buffer may, of course, be used for other purposes when not
|
||||
playing an audio file.
|
||||
@ -58,12 +59,44 @@ config GRAPHICS_FT80X_AUDIO_BUFSIZE
|
||||
When playing an audio file, chunks of the audio file will be stored
|
||||
in a circular buffer in graphics RAM (RAMG G, 256Kb).
|
||||
|
||||
CONFIG_GRAPHICS_FT80X_AUDIO_BUFOFFSET is the starting offset in RAM G for that
|
||||
buffer and CONFIG_FT80x_AUDIO_BUFSIZE is the size of the buffer.
|
||||
CONFIG_GRAPHICS_FT80X_AUDIO_BUFOFFSET is the starting offset in RAM G
|
||||
for that buffer and CONFIG_FT80x_AUDIO_BUFSIZE is the size of the
|
||||
buffer.
|
||||
|
||||
The buffer may, of course, be used for other purposes when not
|
||||
playing an audio file.
|
||||
|
||||
choice
|
||||
prompt "Audio Shutdown Options"
|
||||
default GRAPHICS_FT80X_AUDIO_NOSHUTDOWN
|
||||
|
||||
config GRAPHICS_FT80X_AUDIO_NOSHUTDOWN
|
||||
bool "No amplifier shutdown control"
|
||||
---help---
|
||||
There is no audio amplifier or the audio amplifier is not under
|
||||
software control.
|
||||
|
||||
config GRAPHICS_FT80X_AUDIO_MCUSHUTDOWN
|
||||
bool "MCU controls audio shutdown"
|
||||
---help---
|
||||
The audio amplifier is controlled via an MCU GPIO output pin.
|
||||
|
||||
config GRAPHICS_FT80X_AUDIO_GPIOSHUTDOWN
|
||||
bool "FT80X controls audo shutdown"
|
||||
---help---
|
||||
The audio amplifier is controlled via an FT80x GPIO output pin.
|
||||
|
||||
endchoice # Audio Shutdown Option
|
||||
|
||||
config GRAPHICS_FT80X_AUDIO_GPIO
|
||||
int "FT80x audio shutdown GPIO"
|
||||
default 1
|
||||
range 1 2
|
||||
depends on GRAPHICS_FT80X_AUDIO_GPIOSHUTDOWN
|
||||
---help---
|
||||
Identifies the GPIO pin used to control the amplifier shutdown
|
||||
output.
|
||||
|
||||
config GRAPHICS_FT80X_DEBUG_ERROR
|
||||
bool "Enable error output"
|
||||
default y
|
||||
|
@ -40,8 +40,9 @@ include $(APPDIR)/Make.defs
|
||||
# FTDI/BridgeTek FT80x library
|
||||
|
||||
ASRCS =
|
||||
CSRCS = ft80x_dl.c ft80x_ramg.c ft80x_ramdl.c ft80x_ramcmd.c ft80x_coproc.c
|
||||
CSRCS += ft80x_touch.c ft80x_audio.c ft80x_backlight.c ft80x_regs.c
|
||||
CSRCS = ft80x_dl.c ft80x_ramg.c ft80x_ramdl.c ft80x_ramcmd.c
|
||||
CSRCS += ft80x_coproc.c ft80x_touch.c ft80x_audio.c ft80x_backlight.c
|
||||
CSRCS += ft80x_gpio.c ft80x_regs.c
|
||||
|
||||
AOBJS = $(ASRCS:.S=$(OBJEXT))
|
||||
COBJS = $(CSRCS:.c=$(OBJEXT))
|
||||
|
124
graphics/ft80x/ft80x_gpio.c
Normal file
124
graphics/ft80x/ft80x_gpio.c
Normal file
@ -0,0 +1,124 @@
|
||||
/****************************************************************************
|
||||
* apps/graphics/ft80x/ft80x_gpio.c
|
||||
*
|
||||
* Copyright (C) 2018 Gregory Nutt. All rights reserved.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Included Files
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#include <sys/ioctl.h>
|
||||
#include <stdint.h>
|
||||
#include <assert.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <nuttx/lcd/ft80x.h>
|
||||
|
||||
#include "graphics/ft80x.h"
|
||||
#include "ft80x.h"
|
||||
|
||||
/****************************************************************************
|
||||
* Public Functions
|
||||
****************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Name: ft80x_gpio_configure
|
||||
*
|
||||
* Description:
|
||||
* Configure an FT80x GPIO pin
|
||||
*
|
||||
* Input Parameters:
|
||||
* fd - The file descriptor of the FT80x device. Opened by the caller
|
||||
* with write access.
|
||||
* gpio - Identifies the GPIO pin {0,1}
|
||||
* dir - Direction: 0=input, 1=output
|
||||
* drive - Common output drive strength for GPIO 0 and 1:
|
||||
* 0=4mA, 1=8mA, 2=12mA, 3=16mA (default is 4mA)
|
||||
*
|
||||
* Returned Value:
|
||||
* Zero (OK) on success. A negated errno value on failure.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int ft80x_gpio_configure(int fd, uint8_t gpio, uint8_t dir, uint8_t drive)
|
||||
{
|
||||
#warning "Missing logic"
|
||||
return OK;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: ft80x_gpio_write
|
||||
*
|
||||
* Description:
|
||||
* Write a value to a pin configured for output
|
||||
*
|
||||
* Input Parameters:
|
||||
* fd - The file descriptor of the FT80x device. Opened by the caller
|
||||
* with write access.
|
||||
* gpio - Identifies the GPIO pin {0,1}
|
||||
* value - True: high, false: low
|
||||
*
|
||||
* Returned Value:
|
||||
* Zero (OK) on success. A negated errno value on failure.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int ft80x_gpio_write(int fd, uint8_t gpio, bool value)
|
||||
{
|
||||
#warning "Missing logic"
|
||||
return OK;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
* Name: ft80x_gpio_read
|
||||
*
|
||||
* Description:
|
||||
* Read the value from a pin configured for input
|
||||
*
|
||||
* Input Parameters:
|
||||
* fd - The file descriptor of the FT80x device. Opened by the caller
|
||||
* with write access.
|
||||
* gpio - Identifies the GPIO pin {0,1}
|
||||
*
|
||||
* Returned Value:
|
||||
* True: high, false: low
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
bool ft80x_gpio_read(int fd, uint8_t gpio)
|
||||
{
|
||||
#warning "Missing logic"
|
||||
return OK;
|
||||
}
|
@ -512,6 +512,64 @@ int ft80x_backlight_set(int fd, uint8_t duty);
|
||||
|
||||
int ft80x_backlight_fade(int fd, uint8_t duty, uint16_t delay);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: ft80x_gpio_configure
|
||||
*
|
||||
* Description:
|
||||
* Configure an FT80x GPIO pin
|
||||
*
|
||||
* Input Parameters:
|
||||
* fd - The file descriptor of the FT80x device. Opened by the caller
|
||||
* with write access.
|
||||
* gpio - Identifies the GPIO pin {0,1}
|
||||
* dir - Direction: 0=input, 1=output
|
||||
* drive - Common output drive strength for GPIO 0 and 1:
|
||||
* 0=4mA, 1=8mA, 2=12mA, 3=16mA (default is 4mA)
|
||||
*
|
||||
* Returned Value:
|
||||
* Zero (OK) on success. A negated errno value on failure.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int ft80x_gpio_configure(int fd, uint8_t gpio, uint8_t dir, uint8_t drive);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: ft80x_gpio_write
|
||||
*
|
||||
* Description:
|
||||
* Write a value to a pin configured for output
|
||||
*
|
||||
* Input Parameters:
|
||||
* fd - The file descriptor of the FT80x device. Opened by the caller
|
||||
* with write access.
|
||||
* gpio - Identifies the GPIO pin {0,1}
|
||||
* value - True: high, false: low
|
||||
*
|
||||
* Returned Value:
|
||||
* Zero (OK) on success. A negated errno value on failure.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
int ft80x_gpio_write(int fd, uint8_t gpio, bool value);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: ft80x_gpio_read
|
||||
*
|
||||
* Description:
|
||||
* Read the value from a pin configured for input
|
||||
*
|
||||
* Input Parameters:
|
||||
* fd - The file descriptor of the FT80x device. Opened by the caller
|
||||
* with write access.
|
||||
* gpio - Identifies the GPIO pin {0,1}
|
||||
*
|
||||
* Returned Value:
|
||||
* True: high, false: low
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
bool ft80x_gpio_read(int fd, uint8_t gpio);
|
||||
|
||||
#undef EXTERN
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user