NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
light_flow.cc File Reference
#include "../../include/light_flow.h"
#include <assert.h>
#include <ff_hw_msgs/ConfigureLED.h>
#include <ff_hw_msgs/ConfigureLEDGroup.h>
#include <ff_common/ff_names.h>
#include <jsoncpp/json/allocator.h>
#include <jsoncpp/json/json.h>
#include <jsoncpp/json/value.h>
#include <ros/ros.h>
#include <stdio.h>
#include <chrono>
#include <cmath>
#include <ctime>
#include <iostream>
#include <thread>
#include <vector>
Include dependency graph for light_flow.cc:

Namespaces

 light_flow
 

Macros

#define NUM_LIGHTS   74
 
#define REAL_NUM_LIGHTS   44
 
#define TOP_STREAMING   21
 
#define BOTTOM_STREAMING   22
 

Functions

double light_flow::getUnixTimestamp ()
 
int light_flow::hexToInt (std::string hex)
 
Json::Value light_flow::getMacroLookup (const Json::Value &proc)
 
Json::Value light_flow::macroExpandRecursive (const Json::Value &macroLookup, Json::Value obj)
 
Json::Value light_flow::macroExpand (const Json::Value &macroLookup, Json::Value obj)
 
double light_flow::floatFromHex (const std::string &hex)
 
Json::Value light_flow::compileColor (const Json::Value &rgbHexAsJson)
 
Json::Value light_flow::compileBasicFrame (const Json::Value &obj)
 
Json::Value light_flow::compileFrame (const Json::Value &obj)
 
Json::Value light_flow::compileRepeatFrame (const Json::Value &obj)
 
Json::Value light_flow::compileListFrame (const Json::Value &obj)
 
Json::Value light_flow::compileBasicSequence (const Json::Value &obj)
 
Json::Value light_flow::compileSequence (const Json::Value &obj)
 
Json::Value light_flow::compileMoveSequence (const Json::Value &obj)
 
Json::Value light_flow::compileRepeatSequence (const Json::Value &obj)
 
Json::Value light_flow::compileListSequence (const Json::Value &obj)
 
Json::Value light_flow::compileInterval (const Json::Value &obj)
 
Json::Value light_flow::compileDomain (const Json::Value &obj)
 
Json::Value light_flow::compileBasicAnimation (const Json::Value &obj)
 
Json::Value light_flow::compileListAnimation (const Json::Value &obj)
 
Json::Value light_flow::compileAnimation (const Json::Value &obj)
 
Json::Value light_flow::compileDefine (const Json::Value &obj)
 
Json::Value light_flow::compileReturn (const Json::Value &obj)
 
Json::Value light_flow::compileProcedure (const Json::Value &obj)
 
Json::Value light_flow::getProcedureAnimation (const Json::Value &procedure)
 
Json::Value light_flow::getProcedureLookup (const Json::Value &procedures)
 
Json::Value light_flow::compileCall (const Json::Value &obj, const Json::Value &procedureLookup)
 
Json::Value light_flow::compileCallList (const Json::Value &obj, const Json::Value &procedureLookup)
 
Json::Value light_flow::compileExecState (const Json::Value &obj, const Json::Value &procedureLookup)
 
Json::Value light_flow::getBasicSequenceFrameInfo (const Json::Value &seq, double t, const Json::Value &motionOffset)
 
Json::Value light_flow::getSequenceFrameInfo (const Json::Value &seq, double t, double motionOffset)
 
Json::Value light_flow::getMoveSequenceFrameInfo (const Json::Value &seq, double t, double motionOffset)
 
Json::Value light_flow::getRepeatSequenceFrameInfo (const Json::Value &seq, double t, double motionOffset)
 
Json::Value light_flow::getListSequenceFrameInfo (const Json::Value &seq, double t, double motionOffset)
 
void light_flow::vectorAdd (Json::Value &u, const Json::Value &v)
 
Json::Value light_flow::vectorMix (const Json::Value &u, double ku, const Json::Value &v, double kv)
 
Json::Value light_flow::getPixelColorBasicFrame (const Json::Value &frame, double pos)
 
Json::Value light_flow::getPixelColorFrame (const Json::Value &frame, double pos)
 
Json::Value light_flow::getPixelColorRepeatFrame (const Json::Value &frame, double pos)
 
Json::Value light_flow::getPixelColorListFrame (const Json::Value &frame, double pos)
 
void light_flow::vectorElementProduct (std::vector< double > &u, const std::vector< double > &v)
 
std::vector< double > light_flow::jsonArrayToDoubleVector (const Json::Value &array)
 
std::vector< double > light_flow::getPixelColorFrameInfo (const Json::Value &frameInfo, double pos, const std::vector< double > &filter)
 
void light_flow::applyBasicAnimation (Frame &frame, const Json::Value &animation, double t, const std::vector< double > &filter)
 
void light_flow::applyListAnimation (Frame &frame, Json::Value animation, double t, const std::vector< double > &filter)
 
void light_flow::applyAnimation (Frame &frame, Json::Value animation, double t, const std::vector< double > &filter)
 
void light_flow::applyCall (Frame &frame, double t, const Json::Value &call)
 
void light_flow::renderFrame (const Json::Value &statesOfExecution, Modules &modules, double timeElapsed)
 
void light_flow::compileLightFlow (Json::Value &input)
 
void light_flow::setAllBlack (std::vector< ff_hw_msgs::ConfigureLED > &ledConfigs)
 
ff_hw_msgs::ConfigureLED light_flow::createLED (uint red, uint green, uint blue, uint position)
 
void light_flow::publishLightFlow (const Json::Value &statesOfExecution, const ros::Publisher &publishLEDGroup, bool isStreaming)
 

Macro Definition Documentation

◆ BOTTOM_STREAMING

#define BOTTOM_STREAMING   22

◆ NUM_LIGHTS

#define NUM_LIGHTS   74

◆ REAL_NUM_LIGHTS

#define REAL_NUM_LIGHTS   44

◆ TOP_STREAMING

#define TOP_STREAMING   21