Cypress CY4672 Espresso Maker User Manual


 
60 CY4672 Reference Design Guide, Document # 001-16968 Revision **
Keyboard
4.3.3 Model
Figure 4-7. Firmware Architecture Model
The keyboard firmware is partitioned into two logical groups. The Common group is a collection of
code modules that provide the underlying support for the application. This group provides services
such as, radio protocol, radio driver, timing, flash access, and interrupts.
The Application group implements the core functionality and features of RDK wireless keyboard.
This includes power management, encryption, packet formatting and reporting, various test modes,
and battery level sensing. The code modules for each of these groups are described below in further
detail.
All of the following module descriptions have corresponding <module name>.c or <module
name>.asm and <module name>.h source code files. The module API and definitions are exported
in the header file while the module implementation and local definitions are contained in the C/
assembly file.
4.3.4 Common Code
The modules in the common code group are a combination of two sources. The first is PSoC
Designer generated files in the ‘lib’ directory that have been modified to support the application. The
second group is modules that are generally used by the application.
4.3.4.1 Generated Library Code
There are currently no files, generated by PSoC Designer, that are modified for the use of the appli-
cation.
4.3.4.2 Radio Driver
The radio driver module is a low level module providing basic radio communication and configura-
tion. Its general application is such that it is likely not to be changed by the firmware developer. It
provides an interface for reading/writing radio registers, setting PN codes and initialization of the
radio and transmitting or receiving packets. See the Radio Driver documentation for details.
flash radio driver
protocol
timer
isr
keyboard encryption
battery
mfgtest
tick
GPIO
Common
PSoC Lib
Application
[+] Feedback