summaryrefslogtreecommitdiff
path: root/utils/hwstub/tools/lua/load.lua
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2016-02-07 21:46:58 +0000
committerAmaury Pouly <amaury.pouly@gmail.com>2016-04-08 19:38:18 +0200
commitf6c61eb11a13f7a5141a980f56b9a14b3309c449 (patch)
treed1c4a4d992f88e40eacb65d5e046b595fdcb512a /utils/hwstub/tools/lua/load.lua
parenta2f4c5201d78b9f351834b0512623eeac622280f (diff)
downloadrockbox-f6c61eb11a13f7a5141a980f56b9a14b3309c449.tar.gz
rockbox-f6c61eb11a13f7a5141a980f56b9a14b3309c449.zip
hwstub: port hwstub_shell to the new library
Also use this opportunity to cleanup support for multiple devices: the shell now supports dynamic changes in the device and will call init() everytime a new device is selected, to prepare a new environment. The shell now honors register width on register read/write. The shell also provides access to variants as follows by creating a subtable under the register using the variant type in UPPER case and having the same layout as a register. For example if register HW.GPIO.DIR has variants "set" and "clr", those can be used like this: HW.GPIO.DIR.SET.write(0xff) HW.GPIO.DIR.CLR.write(0xff00) Change-Id: I943947fa98bce875de0cba4338e8b7196a4c1165
Diffstat (limited to 'utils/hwstub/tools/lua/load.lua')
-rw-r--r--utils/hwstub/tools/lua/load.lua32
1 files changed, 21 insertions, 11 deletions
diff --git a/utils/hwstub/tools/lua/load.lua b/utils/hwstub/tools/lua/load.lua
index f636360c4c..cafa82751e 100644
--- a/utils/hwstub/tools/lua/load.lua
+++ b/utils/hwstub/tools/lua/load.lua
@@ -1,14 +1,24 @@
1package.path = string.sub(string.gsub(debug.getinfo(1).source, "load.lua", "?.lua"),2) .. ";" .. package.path 1package.path = string.sub(string.gsub(debug.getinfo(1).source, "load.lua", "?.lua"),2) .. ";" .. package.path
2 2require "stmp"
3if hwstub.dev.target.id == hwstub.dev.target.STMP then 3require "pp"
4 require "stmp" 4require "rk27xx"
5elseif hwstub.dev.target.id == hwstub.dev.target.PP then 5require "atj"
6 require "pp" 6require "jz"
7elseif hwstub.dev.target.id == hwstub.dev.target.RK27 then
8 require "rk27xx"
9elseif hwstub.dev.target.id == hwstub.dev.target.ATJ then
10 require "atj"
11end
12
13require "hwlib" 7require "hwlib"
14require "dumper" 8require "dumper"
9
10LOAD = {}
11
12function LOAD.init()
13 if hwstub.dev.target.id == hwstub.dev.target.STMP then
14 STMP.init()
15 elseif hwstub.dev.target.id == hwstub.dev.target.PP then
16 PP.init()
17 elseif hwstub.dev.target.id == hwstub.dev.target.RK27 then
18 RK27XX.init()
19 elseif hwstub.dev.target.id == hwstub.dev.target.ATJ then
20 ATJ.init()
21 elseif hwstub.dev.target.id == hwstub.dev.target.JZ then
22 JZ.init()
23 end
24end \ No newline at end of file