1、#EMBEDDEDOSSUMMITTime-to-Market with Zephyr,Pigweed,and FirebaseYuval Peress,GoogleEmail:Discord:yuval#5515GitHub:yperessIn both big and small companies(even personal projects)time is expensiveMaking a great product is hard,iterating on it is harderFirebase is great for user facing projects,I wouldn
2、t start a new project without it:remote configsfeature flagsanalytics(user engagement)crashlyticsPigweed bridges the gap for embedded applications wanting to get going quicklyCan we have both?Timelines are everythingWhats our product?Getting set upConfiguring loggingApplication logicTracking eventsR
3、emote config(A/B testing or feature rollout)Crash reportingLets build a product#EMBEDDEDOSSUMMITWhats our product?Inputs:Cadence(RPMs)Power(Watts)Speed(m/s)Gravity vector(climb gradient)Manual gear override(up/down gear shifts)Output:Gear selection(rear and front cassette)Automatic gear shifter for
4、cyclingA simple decision graph#EMBEDDEDOSSUMMITGetting set upmanifest:remotes:-name:zephyr url-base:https:/ -name:pigweed url-base:https:/ projects:-name:zephyr remote:zephyr revision:main import:true -name:pigweed remote:pigweed revision:mainCreate a west.yml#Enable C+CONFIG_CPP=yCONFIG_STD_CPP17=y
5、CONFIG_CPP_MAIN=ySelect kConfig values#include int main()LOG_INF(“Hello Zephyr logs”);return 0;main.ccEnvironment setup:On every run of west update:$./pigweed/bootstrap.shWhen you start working:$./pigweed/activate.shBuild:$west build-p-b$BOARD appBuilding#EMBEDDEDOSSUMMITConfiguring loggingExperimen
6、tal,details may change#Enable C+CONFIG_CPP=yCONFIG_STD_CPP17=yCONFIG_CPP_MAIN=y#Enable tokenized RPC loggingCONFIG_PIGWEED_LOG_TOKENIZED_RPC=ySelect kConfig valuesExperimental,details may changeCONFIG_PIGWEED_LOG_TOKENIZED_RPC enables by default tokenized logging.Pigweed logging is intercepting the