* .h include only the strict minimum for their own parsing
* this forces all files to include explicitment their needs and not count on far streched dependencies
* this helps Makefile to rebuild only the minimum
* according to this rule, most standalone .h are now gone
* big app.h is gone
* remove seldom __cplusplus, if c++ happens, everything will have to be done properly anyway
* all unrequired include were removed
* split common/ into common/ (client+arm) and common_arm/ (os+bootloader)
* bring zlib to common/
* bring stuff not really/not yet used in common back to armsrc/ or client/
* bring liblua into client/
* bring uart into client/
* move some portions of code around (dbprint, protocols,...)
* rename unused files into *_disabled.[ch] to make it explicit
* rename soft Uarts between 14a, 14b and iclass, so a standalone could use several without clash
* remove PrintAndLogDevice
* move deprecated-hid-flasher from client to tools
* Makefiles
* treat deps in armsrc/ as in client/
* client: stop on warning (-Werror), same as for armsrc/
Tested on:
* all standalone modes
* Linux
core.t55xx_detect() - same as 'lf t55xx detect'
core.t55xx_readblock() - read t55xx block, don't forget to run detect before. Returns actual blockdata.
ref:: 4197a3f6ff
This contains a ugly hardcoded hack to solve the issue: https://github.com/Proxmark/proxmark3/issues/217
where GetModuleHandleEx doesn't exist in mingw (old proxspace 2013 environment).
Use the docker container or linux...
also a helper function to take a hexstring and calc the crc on it, was added inside utils.lua
Call it inside a lua-script like this:
local utils = require('utils')
local data = '01020304'
local crc = utils.Crc8Legic(data)
print (uid, ('%02x'):format(crc))