MCPcopy Create free account
hub / github.com/Blueforcer/awtrix3 / indicatorParser

Method indicatorParser

src/DisplayManager.cpp:1787–1940  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1785}
1786
1787bool DisplayManager_::indicatorParser(uint8_t indicator, const char *json)
1788{
1789
1790 if (strcmp(json, "") == 0 || strcmp(json, "{}") == 0)
1791 {
1792 switch (indicator)
1793 {
1794 case 1:
1795 ui->setIndicator1State(false);
1796 ui->setIndicator1Fade(0);
1797 ui->setIndicator1Blink(0);
1798 MQTTManager.setIndicatorState(1, ui->indicator1State, ui->indicator1Color);
1799 break;
1800 case 2:
1801 ui->setIndicator2State(false);
1802 ui->setIndicator2Fade(0);
1803 ui->setIndicator2Blink(0);
1804 MQTTManager.setIndicatorState(2, ui->indicator2State, ui->indicator2Color);
1805 break;
1806 case 3:
1807 ui->setIndicator3State(false);
1808 ui->setIndicator3Fade(0);
1809 ui->setIndicator3Blink(0);
1810 MQTTManager.setIndicatorState(3, ui->indicator3State, ui->indicator3Color);
1811 break;
1812 default:
1813 break;
1814 }
1815 return true;
1816 }
1817
1818 DynamicJsonDocument doc(128);
1819 DeserializationError error = deserializeJson(doc, json);
1820 if (error)
1821 return false;
1822
1823 if (doc.containsKey("color"))
1824 {
1825 auto color = doc["color"];
1826
1827 uint32_t col = getColorFromJsonVariant(color, TEXTCOLOR_888);
1828
1829 if (col > 0)
1830 {
1831 switch (indicator)
1832 {
1833 case 1:
1834 ui->setIndicator1State(true);
1835 ui->setIndicator1Color(col);
1836 break;
1837 case 2:
1838 ui->setIndicator2State(true);
1839 ui->setIndicator2Color(col);
1840 break;
1841 case 3:
1842 ui->setIndicator3State(true);
1843 ui->setIndicator3Color(col);
1844 break;

Callers 2

processMqttMessageFunction · 0.80
addHandlerFunction · 0.80

Calls 15

getColorFromJsonVariantFunction · 0.85
setIndicator1FadeMethod · 0.80
setIndicator1BlinkMethod · 0.80
setIndicatorStateMethod · 0.80
setIndicator2FadeMethod · 0.80
setIndicator2BlinkMethod · 0.80
setIndicator3FadeMethod · 0.80
setIndicator3BlinkMethod · 0.80
setIndicator1StateMethod · 0.45
setIndicator2StateMethod · 0.45
setIndicator3StateMethod · 0.45
setIndicator1ColorMethod · 0.45

Tested by

no test coverage detected