InkHUD: Favorite Map Applet (#9654)
This commit is contained in:
@@ -0,0 +1,111 @@
|
|||||||
|
#ifdef MESHTASTIC_INCLUDE_INKHUD
|
||||||
|
|
||||||
|
#include "./FavoritesMapApplet.h"
|
||||||
|
#include "NodeDB.h"
|
||||||
|
|
||||||
|
using namespace NicheGraphics;
|
||||||
|
|
||||||
|
bool InkHUD::FavoritesMapApplet::shouldDrawNode(meshtastic_NodeInfoLite *node)
|
||||||
|
{
|
||||||
|
// Keep our own node available as map anchor/center; all others must be favorited.
|
||||||
|
return node && (node->num == nodeDB->getNodeNum() || node->is_favorite);
|
||||||
|
}
|
||||||
|
|
||||||
|
void InkHUD::FavoritesMapApplet::onRender(bool full)
|
||||||
|
{
|
||||||
|
// Custom empty state text for favorites-only map.
|
||||||
|
if (!enoughMarkers()) {
|
||||||
|
printAt(X(0.5), Y(0.5) - (getFont().lineHeight() / 2), "Favorite node position", CENTER, MIDDLE);
|
||||||
|
printAt(X(0.5), Y(0.5) + (getFont().lineHeight() / 2), "will appear here", CENTER, MIDDLE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Draw the usual map applet first.
|
||||||
|
MapApplet::onRender(full);
|
||||||
|
|
||||||
|
// Draw our latest "node of interest" as a special marker.
|
||||||
|
meshtastic_NodeInfoLite *node = nodeDB->getMeshNode(lastFrom);
|
||||||
|
if (node && node->is_favorite && nodeDB->hasValidPosition(node) && enoughMarkers())
|
||||||
|
drawLabeledMarker(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Determine if we need to redraw the map, when we receive a new position packet.
|
||||||
|
ProcessMessage InkHUD::FavoritesMapApplet::handleReceived(const meshtastic_MeshPacket &mp)
|
||||||
|
{
|
||||||
|
// If applet is not active, we shouldn't be handling any data.
|
||||||
|
if (!isActive())
|
||||||
|
return ProcessMessage::CONTINUE;
|
||||||
|
|
||||||
|
// Try decode a position from the packet.
|
||||||
|
bool hasPosition = false;
|
||||||
|
float lat;
|
||||||
|
float lng;
|
||||||
|
if (mp.which_payload_variant == meshtastic_MeshPacket_decoded_tag && mp.decoded.portnum == meshtastic_PortNum_POSITION_APP) {
|
||||||
|
meshtastic_Position position = meshtastic_Position_init_default;
|
||||||
|
if (pb_decode_from_bytes(mp.decoded.payload.bytes, mp.decoded.payload.size, &meshtastic_Position_msg, &position)) {
|
||||||
|
if (position.has_latitude_i && position.has_longitude_i // Actually has position
|
||||||
|
&& (position.latitude_i != 0 || position.longitude_i != 0)) // Position isn't "null island"
|
||||||
|
{
|
||||||
|
hasPosition = true;
|
||||||
|
lat = position.latitude_i * 1e-7; // Convert from Meshtastic's internal int32_t format
|
||||||
|
lng = position.longitude_i * 1e-7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Skip if we didn't get a valid position.
|
||||||
|
if (!hasPosition)
|
||||||
|
return ProcessMessage::CONTINUE;
|
||||||
|
|
||||||
|
const int8_t hopsAway = getHopsAway(mp);
|
||||||
|
const bool hasHopsAway = hopsAway >= 0;
|
||||||
|
|
||||||
|
// Determine if the position packet would change anything on-screen.
|
||||||
|
bool somethingChanged = false;
|
||||||
|
|
||||||
|
// If our own position.
|
||||||
|
if (isFromUs(&mp)) {
|
||||||
|
// Ignore tiny local movement to reduce update spam.
|
||||||
|
if (GeoCoord::latLongToMeter(ourLastLat, ourLastLng, lat, lng) > 50) {
|
||||||
|
somethingChanged = true;
|
||||||
|
ourLastLat = lat;
|
||||||
|
ourLastLng = lng;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// For non-local packets, this applet only reacts to favorited nodes.
|
||||||
|
meshtastic_NodeInfoLite *sender = nodeDB->getMeshNode(mp.from);
|
||||||
|
if (!sender || !sender->is_favorite)
|
||||||
|
return ProcessMessage::CONTINUE;
|
||||||
|
|
||||||
|
// Check if this position is from someone different than our previous position packet.
|
||||||
|
if (mp.from != lastFrom) {
|
||||||
|
somethingChanged = true;
|
||||||
|
lastFrom = mp.from;
|
||||||
|
lastLat = lat;
|
||||||
|
lastLng = lng;
|
||||||
|
lastHopsAway = hopsAway;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Same sender: check if position changed.
|
||||||
|
else if (GeoCoord::latLongToMeter(lastLat, lastLng, lat, lng) > 10) {
|
||||||
|
somethingChanged = true;
|
||||||
|
lastLat = lat;
|
||||||
|
lastLng = lng;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Same sender, same position: check if hops changed.
|
||||||
|
else if (hasHopsAway && (hopsAway != lastHopsAway)) {
|
||||||
|
somethingChanged = true;
|
||||||
|
lastHopsAway = hopsAway;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (somethingChanged) {
|
||||||
|
requestAutoshow();
|
||||||
|
requestUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
return ProcessMessage::CONTINUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
#ifdef MESHTASTIC_INCLUDE_INKHUD
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
Plots position of favorited nodes from DB, with North facing up.
|
||||||
|
Scaled to fit the most distant node.
|
||||||
|
Size of marker represents hops away.
|
||||||
|
The favorite node which most recently sent a position will be labeled.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "configuration.h"
|
||||||
|
|
||||||
|
#include "graphics/niche/InkHUD/Applets/Bases/Map/MapApplet.h"
|
||||||
|
|
||||||
|
#include "SinglePortModule.h"
|
||||||
|
|
||||||
|
namespace NicheGraphics::InkHUD
|
||||||
|
{
|
||||||
|
|
||||||
|
class FavoritesMapApplet : public MapApplet, public SinglePortModule
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
FavoritesMapApplet() : SinglePortModule("FavoritesMapApplet", meshtastic_PortNum_POSITION_APP) {}
|
||||||
|
void onRender(bool full) override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
bool shouldDrawNode(meshtastic_NodeInfoLite *node) override;
|
||||||
|
ProcessMessage handleReceived(const meshtastic_MeshPacket &mp) override;
|
||||||
|
|
||||||
|
NodeNum lastFrom = 0; // Sender of most recent favorited (non-local) position packet
|
||||||
|
float lastLat = 0.0;
|
||||||
|
float lastLng = 0.0;
|
||||||
|
float lastHopsAway = 0;
|
||||||
|
|
||||||
|
float ourLastLat = 0.0; // Info about most recent local position
|
||||||
|
float ourLastLng = 0.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace NicheGraphics::InkHUD
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -11,6 +11,7 @@
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -87,6 +88,7 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
||||||
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet); // -
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, not autoshown, default on tile 0
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, not autoshown, default on tile 0
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ Different NicheGraphics UIs and different hardware variants will each have their
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -84,6 +85,7 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
||||||
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet); // -
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, not autoshown, default on tile 0
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, not autoshown, default on tile 0
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -87,6 +88,7 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, not autoshown, default on tile 0
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, not autoshown, default on tile 0
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet, false, false); // -
|
||||||
|
|
||||||
// Start running InkHUD
|
// Start running InkHUD
|
||||||
inkhud->begin();
|
inkhud->begin();
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -67,6 +68,7 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
||||||
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet); // -
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, not autoshown, default on tile 0
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, not autoshown, default on tile 0
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -71,13 +72,14 @@ void setupNicheGraphics()
|
|||||||
|
|
||||||
// Pick applets
|
// Pick applets
|
||||||
// Note: order of applets determines priority of "auto-show" feature
|
// Note: order of applets determines priority of "auto-show" feature
|
||||||
inkhud->addApplet("All Messages", new InkHUD::AllMessageApplet, true, true); // Activated, autoshown
|
inkhud->addApplet("All Messages", new InkHUD::AllMessageApplet, true, true); // Activated, autoshown
|
||||||
inkhud->addApplet("DMs", new InkHUD::DMApplet); // -
|
inkhud->addApplet("DMs", new InkHUD::DMApplet); // -
|
||||||
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
||||||
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, no autoshow, default on tile 0
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, no autoshow, default on tile 0
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet, false, false); // -
|
||||||
|
|
||||||
// Start running InkHUD
|
// Start running InkHUD
|
||||||
inkhud->begin();
|
inkhud->begin();
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -72,7 +73,8 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("DMs", new InkHUD::DMApplet, true, false, 3); // Default on tile 3
|
inkhud->addApplet("DMs", new InkHUD::DMApplet, true, false, 3); // Default on tile 3
|
||||||
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0), true, false, 2); // Default on tile 2
|
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0), true, false, 2); // Default on tile 2
|
||||||
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1));
|
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1));
|
||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true, false, 1); // Default on tile 1
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true, false, 1); // Default on tile 1
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet);
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet, true, false, 0); // Default on tile 0
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet, true, false, 0); // Default on tile 0
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true); // Background
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true); // Background
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -73,7 +74,8 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("DMs", new InkHUD::DMApplet, true, false, 3); // Default on tile 3
|
inkhud->addApplet("DMs", new InkHUD::DMApplet, true, false, 3); // Default on tile 3
|
||||||
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0), true, false, 2); // Default on tile 2
|
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0), true, false, 2); // Default on tile 2
|
||||||
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1));
|
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1));
|
||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true, false, 1); // Default on tile 1
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true, false, 1); // Default on tile 1
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet);
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet, true, false, 0); // Default on tile 0
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet, true, false, 0); // Default on tile 0
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true); // Background
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true); // Background
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -67,6 +68,7 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
||||||
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet); // -
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, no autoshow, default on tile 0
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, no autoshow, default on tile 0
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -67,6 +68,7 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
||||||
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet); // -
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, no autoshow, default on tile 0
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, no autoshow, default on tile 0
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -63,6 +64,7 @@ void setupNicheGraphics()
|
|||||||
inkhud->persistence->settings.optionalFeatures.batteryIcon = true; // Device definitely has a battery
|
inkhud->persistence->settings.optionalFeatures.batteryIcon = true; // Device definitely has a battery
|
||||||
inkhud->persistence->settings.userTiles.count = 1; // One tile only by default, keep things simple for new users
|
inkhud->persistence->settings.userTiles.count = 1; // One tile only by default, keep things simple for new users
|
||||||
inkhud->persistence->settings.userTiles.maxCount = 2; // Two applets side-by-side
|
inkhud->persistence->settings.userTiles.maxCount = 2; // Two applets side-by-side
|
||||||
|
inkhud->persistence->settings.optionalFeatures.batteryIcon = true;
|
||||||
|
|
||||||
// Pick applets
|
// Pick applets
|
||||||
// Note: order of applets determines priority of "auto-show" feature
|
// Note: order of applets determines priority of "auto-show" feature
|
||||||
@@ -74,6 +76,7 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, no autoshow, default on tile 0
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, no autoshow, default on tile 0
|
||||||
|
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet, false, false); // -
|
||||||
// Start running InkHUD
|
// Start running InkHUD
|
||||||
inkhud->begin();
|
inkhud->begin();
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
#include "graphics/niche/Drivers/EInk/GDEY0154D67.h"
|
#include "graphics/niche/Drivers/EInk/GDEY0154D67.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -43,6 +44,7 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0));
|
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0));
|
||||||
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1));
|
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1));
|
||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true);
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true);
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet);
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet);
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet);
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0);
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0);
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@
|
|||||||
// Applets
|
// Applets
|
||||||
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/AllMessage/AllMessageApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/DM/DMApplet.h"
|
||||||
|
#include "graphics/niche/InkHUD/Applets/User/FavoritesMap/FavoritesMapApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Heard/HeardApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/Positions/PositionsApplet.h"
|
||||||
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
#include "graphics/niche/InkHUD/Applets/User/RecentsList/RecentsListApplet.h"
|
||||||
@@ -79,6 +80,7 @@ void setupNicheGraphics()
|
|||||||
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
inkhud->addApplet("Channel 0", new InkHUD::ThreadedMessageApplet(0)); // -
|
||||||
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
inkhud->addApplet("Channel 1", new InkHUD::ThreadedMessageApplet(1)); // -
|
||||||
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
inkhud->addApplet("Positions", new InkHUD::PositionsApplet, true); // Activated
|
||||||
|
inkhud->addApplet("Favorites Map", new InkHUD::FavoritesMapApplet); // -
|
||||||
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
inkhud->addApplet("Recents List", new InkHUD::RecentsListApplet); // -
|
||||||
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, no autoshow, default on tile 0
|
inkhud->addApplet("Heard", new InkHUD::HeardApplet, true, false, 0); // Activated, no autoshow, default on tile 0
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user