mirror of
https://github.com/usetrmnl/terminus.git
synced 2026-08-13 14:29:27 -07:00
Updated firmware header model name transformer to default to OG plus
Provides a slight upgrade from OG (png, 1-bit) to OG (plus, 2-bit) and better default. This also fixes the XTEINK_X4 model mapping which works properly now. Milestone: minor
This commit is contained in:
@@ -15,17 +15,17 @@ module Terminus
|
||||
include Initable[
|
||||
key: :HTTP_MODEL,
|
||||
map: {
|
||||
"og" => "og_png",
|
||||
"og" => "og_plus",
|
||||
"reTerminal E1001" => "seeed_e1001",
|
||||
"reTerminal E1002" => "seeed_e1002",
|
||||
"seeed_esp32c3" => "seeed_e1001",
|
||||
"seeed_esp32s3" => "seeed_e1002",
|
||||
"waveshare" => "waveshare_4_26",
|
||||
"x" => "v2",
|
||||
"xiao_epaper_display" => "og_png",
|
||||
"XTEINK_X4" => "og_png"
|
||||
"xiao_epaper_display" => "og_plus",
|
||||
"XTEINK_X4" => "xteink_x4"
|
||||
},
|
||||
fallback: "og_png"
|
||||
fallback: "og_plus"
|
||||
]
|
||||
|
||||
include Dry::Monads[:result]
|
||||
|
||||
@@ -38,7 +38,7 @@ RSpec.describe Terminus::Aspects::Firmware::Headers::Parser do
|
||||
host: "https://localhost",
|
||||
user_agent: "ESP32HTTPClient",
|
||||
mac_address: "A1:B2:C3:D4:E5:F6",
|
||||
model_name: "og_png",
|
||||
model_name: "og_plus",
|
||||
api_key: "abc123",
|
||||
refresh_rate: 25,
|
||||
battery: 4.74,
|
||||
|
||||
@@ -10,7 +10,7 @@ RSpec.describe Terminus::Aspects::Firmware::Headers::Transformers::ModelName do
|
||||
describe "#call" do
|
||||
it "transforms TRMNL OG" do
|
||||
headers = {HTTP_MODEL: "og"}
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_png")
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_plus")
|
||||
end
|
||||
|
||||
it "transforms reTerminal E1001" do
|
||||
@@ -45,25 +45,25 @@ RSpec.describe Terminus::Aspects::Firmware::Headers::Transformers::ModelName do
|
||||
|
||||
it "transforms XIAO ePaper Display" do
|
||||
headers = {HTTP_MODEL: "xiao_epaper_display"}
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_png")
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_plus")
|
||||
end
|
||||
|
||||
it "transforms XTEINK X4" do
|
||||
headers = {HTTP_MODEL: "XTEINK_X4"}
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_png")
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "xteink_x4")
|
||||
end
|
||||
|
||||
context "with unknown name" do
|
||||
let(:headers) { {HTTP_MODEL: :bogus} }
|
||||
|
||||
it "answers fallback name when name is unknown" do
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_png")
|
||||
it "answers fallback when name is unknown" do
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_plus")
|
||||
end
|
||||
|
||||
it "logs debug message" do
|
||||
pattern = /
|
||||
DEBUG.+Unknown\sname\swhen\stransforming\sHTTP_MODEL\sheader:\s:bogus\.\s
|
||||
Using\sfallback:\sog_png\.
|
||||
Using\sfallback:\sog_plus\.
|
||||
/x
|
||||
|
||||
transformer.call headers
|
||||
@@ -76,13 +76,13 @@ RSpec.describe Terminus::Aspects::Firmware::Headers::Transformers::ModelName do
|
||||
let(:headers) { {HTTP_MODEL: ""} }
|
||||
|
||||
it "answers fallback name when name is unknown" do
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_png")
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_plus")
|
||||
end
|
||||
|
||||
it "logs debug message" do
|
||||
pattern = /
|
||||
DEBUG.+Unknown\sname\swhen\stransforming\sHTTP_MODEL\sheader:\s\\"\\"\.\s
|
||||
Using\sfallback:\sog_png\.
|
||||
Using\sfallback:\sog_plus\.
|
||||
/x
|
||||
|
||||
transformer.call headers
|
||||
@@ -95,13 +95,13 @@ RSpec.describe Terminus::Aspects::Firmware::Headers::Transformers::ModelName do
|
||||
let(:headers) { {HTTP_MODEL: nil} }
|
||||
|
||||
it "answers fallback name when name is unknown" do
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_png")
|
||||
expect(transformer.call(headers)).to be_success(HTTP_MODEL: "og_plus")
|
||||
end
|
||||
|
||||
it "logs debug message" do
|
||||
pattern = /
|
||||
DEBUG.+Unknown\sname\swhen\stransforming\sHTTP_MODEL\sheader:\snil\.\s
|
||||
Using\sfallback:\sog_png\.
|
||||
Using\sfallback:\sog_plus\.
|
||||
/x
|
||||
|
||||
transformer.call headers
|
||||
|
||||
@@ -4,10 +4,10 @@ require "hanami_helper"
|
||||
|
||||
RSpec.describe "/api/setup", :db do
|
||||
let(:device) { Factory[:device, model_id: model.id] }
|
||||
let(:model) { Factory[:model, name: "og_png"] }
|
||||
let(:model) { Factory[:model, name: "og_plus"] }
|
||||
|
||||
let :headers do
|
||||
{"HTTP_FW_VERSION" => "1.2.3", "HTTP_ID" => "A1:B2:C3:D4:E5:F6", "HTTP_MODEL" => "og_png"}
|
||||
{"HTTP_FW_VERSION" => "1.2.3", "HTTP_ID" => "A1:B2:C3:D4:E5:F6", "HTTP_MODEL" => "og"}
|
||||
end
|
||||
|
||||
it "answers new device when device doesn't exist" do
|
||||
|
||||
Reference in New Issue
Block a user