Compare commits
	
		
			3 Commits
		
	
	
		
			ffa88f010c
			...
			dfa9e305ab
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| dfa9e305ab | |||
| 85dac18494 | |||
| 2b744a5813 | 
							
								
								
									
										23
									
								
								bindings.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								bindings.lua
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,23 @@
 | 
			
		|||
--- @class Exports
 | 
			
		||||
--- @field log Logger
 | 
			
		||||
--- @field updater Updater
 | 
			
		||||
--- @field notifier Notifier
 | 
			
		||||
--- @field json JsonParser
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--- @class Logger
 | 
			
		||||
--- @field error fun(...)
 | 
			
		||||
--- @field warn fun(...)
 | 
			
		||||
--- @field info fun(...)
 | 
			
		||||
--- @field debug fun(...)
 | 
			
		||||
 | 
			
		||||
--- @class Updater
 | 
			
		||||
--- @field addEntry fun(path: string, branch: string, url: string)
 | 
			
		||||
 | 
			
		||||
--- @class JsonParser
 | 
			
		||||
--- @field decode fun(s: string): table
 | 
			
		||||
--- @field encode fun(s: table): string
 | 
			
		||||
 | 
			
		||||
--- @class Notifier
 | 
			
		||||
--- @field notify fun(priority: "1"|"2"|"3"|"4"|"5", body: string)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										17
									
								
								rtmc.lua
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								rtmc.lua
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -13,6 +13,8 @@ end
 | 
			
		|||
rawset(__BUNDLER_FILES, "main", function ()
 | 
			
		||||
    local updater = require("updater");
 | 
			
		||||
    local log = require("log");
 | 
			
		||||
    local notifier = require("notifier")
 | 
			
		||||
    local json     = require("json")
 | 
			
		||||
    local MODULE_NAME = "keypadOS";
 | 
			
		||||
    local MODULE_URL = "https://git.mcorangehq.xyz/xomf/keypadOS/raw/branch/keypad/keypadOS.lua";
 | 
			
		||||
    if not __VERSION then
 | 
			
		||||
| 
						 | 
				
			
			@ -28,7 +30,20 @@ rawset(__BUNDLER_FILES, "main", function ()
 | 
			
		|||
        log.info("Starting bootloader (" .. __VERSION .. ")");
 | 
			
		||||
        local upd = updater.new();
 | 
			
		||||
        upd:addEntry(MODULE_NAME .. ".lua", "keypad", MODULE_URL);
 | 
			
		||||
        parallel.waitForAny(function() updaterLoop(upd) end, require(MODULE_NAME))
 | 
			
		||||
        local lib_exports = {
 | 
			
		||||
            log = log,
 | 
			
		||||
            updater = upd,
 | 
			
		||||
            notifier = notifier,
 | 
			
		||||
            json = json
 | 
			
		||||
        };
 | 
			
		||||
        parallel.waitForAny(
 | 
			
		||||
            function()
 | 
			
		||||
                updaterLoop(upd)
 | 
			
		||||
            end,
 | 
			
		||||
            function ()
 | 
			
		||||
                require(MODULE_NAME)(lib_exports);
 | 
			
		||||
            end
 | 
			
		||||
        );
 | 
			
		||||
    end
 | 
			
		||||
    local mod = {};
 | 
			
		||||
    mod.main = _start;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -22,6 +22,7 @@
 | 
			
		|||
-- SOFTWARE.
 | 
			
		||||
--
 | 
			
		||||
 | 
			
		||||
--- @class JsonParser
 | 
			
		||||
local json = { _version = "0.1.2" }
 | 
			
		||||
 | 
			
		||||
-------------------------------------------------------------------------------
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,5 @@
 | 
			
		|||
 | 
			
		||||
--- @class Logger
 | 
			
		||||
local log = {};
 | 
			
		||||
log.__index = log;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										23
									
								
								src/main.lua
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								src/main.lua
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -1,5 +1,7 @@
 | 
			
		|||
local updater = require("updater");
 | 
			
		||||
local log = require("log");
 | 
			
		||||
local notifier = require("notifier")
 | 
			
		||||
local json     = require("json")
 | 
			
		||||
 | 
			
		||||
local MODULE_NAME = "keypadOS";
 | 
			
		||||
local MODULE_URL = "https://git.mcorangehq.xyz/xomf/keypadOS/raw/branch/keypad/keypadOS.lua";
 | 
			
		||||
| 
						 | 
				
			
			@ -8,6 +10,9 @@ if not __VERSION then
 | 
			
		|||
    __VERSION = "DEV";
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--- @param upd Updater
 | 
			
		||||
local function updaterLoop(upd)
 | 
			
		||||
    while true do
 | 
			
		||||
| 
						 | 
				
			
			@ -20,7 +25,23 @@ local function _start()
 | 
			
		|||
    log.info("Starting bootloader (" .. __VERSION .. ")");
 | 
			
		||||
    local upd = updater.new();
 | 
			
		||||
    upd:addEntry(MODULE_NAME .. ".lua", "keypad", MODULE_URL);
 | 
			
		||||
    parallel.waitForAny(function() updaterLoop(upd) end, require(MODULE_NAME))
 | 
			
		||||
 | 
			
		||||
    --- @type Exports
 | 
			
		||||
    local lib_exports = {
 | 
			
		||||
        log = log,
 | 
			
		||||
        updater = upd,
 | 
			
		||||
        notifier = notifier,
 | 
			
		||||
        json = json
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    parallel.waitForAny(
 | 
			
		||||
        function()
 | 
			
		||||
            updaterLoop(upd)
 | 
			
		||||
        end,
 | 
			
		||||
        function ()
 | 
			
		||||
            require(MODULE_NAME)(lib_exports);
 | 
			
		||||
        end
 | 
			
		||||
    );
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local mod = {};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -72,7 +72,6 @@ function updater:check(branch)
 | 
			
		|||
        log.error("Updater:check: Could not get body of request: " .. berr);
 | 
			
		||||
        return false;
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    local data = json.decode(body);
 | 
			
		||||
    if self.curr_commit_hash == "" then
 | 
			
		||||
        log.debug("No commit hash found, setting");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user