From e68a7e2d2502300291b4fc6014c8a3b3a828c1d5 Mon Sep 17 00:00:00 2001 From: Patrick McDonagh Date: Fri, 24 Mar 2017 15:16:46 -0500 Subject: [PATCH] Fixes a tag name, adds the ability to store all current values for testing --- Modbus Map.xlsx | Bin 88508 -> 88475 bytes analog.json | 2 +- currentValues.csv | 22932 ++++++++++++++++++++++++++++++++++++++++++++ getAllValues.py | 240 + 4 files changed, 23173 insertions(+), 1 deletion(-) create mode 100644 currentValues.csv create mode 100644 getAllValues.py diff --git a/Modbus Map.xlsx b/Modbus Map.xlsx index d7714f1e398bba7307484de4f2d17bc522f6c5a4..050a131f7fa2dfe3a9189b21baba3d3c0a2721e6 100644 GIT binary patch delta 12440 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 G=6?Z%5ihs^ delta 12448 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