Currently using a FT ADAM 4DLCD FT843 display.
I’ve gotten as far as drawing a button widget using the HelloWorld example on the display screen…
/*****************************************************************************
* Copyright (c) Future Technology Devices International 2014
* propriety of Future Technology devices International.
*
* Software License Agreement
*
* This code is provided as an example only and is not guaranteed by FTDI.
* FTDI accept no responsibility for any issues resulting from its use.
* The developer of the final application incorporating any parts of this
* sample project is responsible for ensuring its safe and correct operation
* and for any consequences resulting from its use.
*****************************************************************************/
/**
* @file HelloWorld.ino
* @brief Sketch to display hello world on FT800.
Tested platform version: Arduino 1.0.4 and later
* @version 0.1.0
* @date 2014/17/05
*
*/
/* This application demonstrates the usage of FT800 library on FT_ADAM_4DLCD_FT843 platform */
/* Arduino standard includes */
#include "SPI.h"
#include "Wire.h"
/* Platform specific includes */
#include "FT_ADAM_4DLCD_FT843.h"
/* Global object for FT800 Implementation */
FT800IMPL_SPI FTImpl(FT_CS_PIN,FT_PDN_PIN,FT_INT_PIN);
/* Api to bootup ft800, verify FT800 hardware and configure display/audio pins */
/* Returns 0 in case of success and 1 in case of failure */
int16_t BootupConfigure()
{
uint32_t chipid = 0;
FTImpl.Init(FT_DISPLAY_WQVGA_480x272);//configure the display to the WQVGA
delay(20);//for safer side
chipid = FTImpl.Read32(FT_ROM_CHIPID);
/* Identify the chip */
if(FT800_CHIPID != chipid)
{
Serial.print("Error in chip id read ");
Serial.println(chipid,HEX);
return 1;
}
/* Set the Display & audio pins */
FTImpl.SetDisplayEnablePin(FT_DISPENABLE_PIN);
FTImpl.SetAudioEnablePin(FT_AUDIOENABLE_PIN);
FTImpl.DisplayOn();
FTImpl.AudioOn();
return 0;
}
/* API to display Hello World string on the screen */
void HelloWorld()
{
/* Change the below string for experimentation */
const char Display_string[12] = "Hello World";
/* Display list to display "Hello World" at the centre of display area */
FTImpl.DLStart();//start the display list. Note DLStart and DLEnd are helper apis, Cmd_DLStart() and Display() can also be utilized.
/* button with 3d effect with gradient color */
FTImpl.ColorRGB(0xFF,0xFF,0xFF);//set the color of the string to while color
FTImpl.Cmd_Button(175, 80, 120, 36, 29, 0, "BUTTON");
FTImpl.Tag(1);
FTImpl.DLEnd();//end the display list
FTImpl.Finish();//render the display list and wait for the completion of the DL
}
/* bootup the module and display "Hello World" on screen */
void setup()
{
/* Initialize serial print related functionality */
Serial.begin(9600);
/* Set the Display Enable pin*/
Serial.println("--Start Application--");
if(BootupConfigure())
{
//error case - do not do any thing
}
else
{
HelloWorld();
}
Serial.println("--End Application--");
}
/* Nothing in loop api */
void loop()
{
}
Now I would like the button widget to do something when pressed, i.e increment a value on the screen and change its appearance to flat. I can’t seem to find an example (or break down their provided examples.)
Any help would be appreciated!