Skip to content

Thunder (aka WPEFramework)

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
COPYING
Notifications You must be signed in to change notification settings

sramani-metro/Thunder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thunder

A C++ platform abstraction layer for generic functionality.

Thunder dependencies

After the JsonGenerator.py and StubGenerator.py were modified to run with the python 3.5 version, some action might be required. When using buildroot or yocto, no action is necessary. Upon running these scripts manually or on Windows, make sure python 3.5 or higher is used, like so:

$ python --version

You might also need to fulfill a requirement of the jsonref library, with the following line:

$ pip install jsonref

Thunder Options

Platforms:

  • INTELCE
  • RPI
  • PC_UNIX
  • PC_WINDOWS
  • EOS
  • DAWN
  • Xi5

Thunder options:

  • -DCORE=ON ,Include the generics library.
  • -DCRYPTALGO=ON ,Include the encyption algorithm library.
  • -DPROTOCOLS=ON ,Include the protocols library.
  • -DTRACING=ON ,Include the tracing library.
  • -DPLUGINS=ON ,Include the plugin library.
  • -DDEBUG=ON ,Enable debug build for Thunder.
  • -DWCHAR_SUPPORT=ON ,Enable support for WCHAR in Thunder.

Internal plugins

Linux (Desktop) Build

These instructions should work on Raspberry PI or any Linux distro.

Setup root build and install

export THUNDER_ROOT=$HOME/thunder
export THUNDER_INSTALL_DIR=${THUNDER_ROOT}/install
mkdir -p ${THUNDER_INSTALL_DIR}

Clone source

cd ${THUNDER_ROOT}
git clone https://github.com/rdkcentral/Thunder.git

Build and install Tools

cd ${THUNDER_ROOT}/Thunder/Tools
mkdir build

cd build
cmake -DCMAKE_INSTALL_PREFIX=${THUNDER_INSTALL_DIR} \
      -DGENERIC_CMAKE_MODULE_PATH=${THUNDER_INSTALL_DIR}/include/WPEFramework/cmake/modules ..
      
make; make install

Build and install Thunder

cd ${THUNDER_ROOT}/Thunder
mkdir build

cd build
cmake -DCMAKE_INSTALL_PREFIX=${THUNDER_INSTALL_DIR} \
      -DCMAKE_MODULE_PATH=${THUNDER_INSTALL_DIR}/include/WPEFramework/cmake/modules \
      -DBUILD_TYPE=Debug -DBINDING=127.0.0.1 -DVIRTUALINPUT=on ..
      
make; make install

ThunderInterfaces

cd ${THUNDER_ROOT}
git clone https://github.com/rdkcentral/ThunderInterfaces

cd ${THUNDER_ROOT}/ThunderInterfaces
mkdir build

cd build
cmake -DCMAKE_INSTALL_PREFIX=${THUNDER_INSTALL_DIR}  \
      -DBUILD_TYPE=Debug\
      -DCMAKE_MODULE_PATH=${THUNDER_INSTALL_DIR}/include/WPEFramework/cmake/modules ..
make; make install

WINDOWS Build, using Visual Studio 2019

The default solution is setup in such away that it can run and load the Thunder and Thunder Nano Services (capable of running in Windows) if both repositories are next to each other. So checkout Thunder on disk and put the ThunderNanoServices next to it.

e.g. C:\Users\Me\Thunder C:\Users\Me\ThunderNanoServices

Than to run, the config file is assuming that all is installed on W: You can set this by mapping the artifacts directory created, to the W drive. A typical use case would be:

net use w: "\localhost\c$\Users\Me\Thunder\artifacts"

Before the first run make sure you creat a volatile and a peritent directory here mkdir w:\Temp and mkdir w:\Persistent.

If you want to use the Thunder UI page, copy the ThunderUI\build* to W:<build type>\Controller\UI

Depending on the filesystem used by the windows OS, symbolic links are supported or not. There is 1 Symbolic link in the Thuder repository (Thunder/Source/tools -> "../Tools"). If this symbolic link does not exist, you will experience build errors (error 2, GenrateProxyStub.py not found). or create a copy of the Tools directory in Source/tools (xcopy /d ..\Tools tools) or create the symlink manually (mklink /D tools "..\Tools")

About

Thunder (aka WPEFramework)

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 84.1%
  • Python 6.2%
  • CMake 5.9%
  • C 3.8%