| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							- # SPDX-License-Identifier: Apache-2.0
 
- # from https://gist.github.com/korzo89/71a6de0f388f7cf8b349101b0134060c
 
- function(from_hex HEX DEC)
 
-     string(SUBSTRING "${HEX}" 2 -1 HEX)
 
-     string(TOUPPER "${HEX}" HEX)
 
-     set(_res 0)
 
-     string(LENGTH "${HEX}" _strlen)
 
-     while(_strlen GREATER 0)
 
-         math(EXPR _res "${_res} * 16")
 
-         string(SUBSTRING "${HEX}" 0 1 NIBBLE)
 
-         string(SUBSTRING "${HEX}" 1 -1 HEX)
 
-         if(NIBBLE STREQUAL "A")
 
-             math(EXPR _res "${_res} + 10")
 
-         elseif(NIBBLE STREQUAL "B")
 
-             math(EXPR _res "${_res} + 11")
 
-         elseif(NIBBLE STREQUAL "C")
 
-             math(EXPR _res "${_res} + 12")
 
-         elseif(NIBBLE STREQUAL "D")
 
-             math(EXPR _res "${_res} + 13")
 
-         elseif(NIBBLE STREQUAL "E")
 
-             math(EXPR _res "${_res} + 14")
 
-         elseif(NIBBLE STREQUAL "F")
 
-             math(EXPR _res "${_res} + 15")
 
-         else()
 
-             math(EXPR _res "${_res} + ${NIBBLE}")
 
-         endif()
 
-         string(LENGTH "${HEX}" _strlen)
 
-     endwhile()
 
-     set(${DEC} ${_res} PARENT_SCOPE)
 
- endfunction()
 
- function(to_hex DEC HEX)
 
-     while(DEC GREATER 0)
 
-         math(EXPR _val "${DEC} % 16")
 
-         math(EXPR DEC "${DEC} / 16")
 
-         if(_val EQUAL 10)
 
-             set(_val "A")
 
-         elseif(_val EQUAL 11)
 
-             set(_val "B")
 
-         elseif(_val EQUAL 12)
 
-             set(_val "C")
 
-         elseif(_val EQUAL 13)
 
-             set(_val "D")
 
-         elseif(_val EQUAL 14)
 
-             set(_val "E")
 
-         elseif(_val EQUAL 15)
 
-             set(_val "F")
 
-         endif()
 
-         set(_res "${_val}${_res}")
 
-     endwhile()
 
-     set(${HEX} "0x${_res}" PARENT_SCOPE)
 
- endfunction()
 
 
  |