Skip to content
Snippets Groups Projects
Select Git revision
  • 09be6f1c2933ba930f651171119f9d0a878f21cf
  • main default protected
  • phhw
  • captouch-threshold
  • t
  • dos
  • test2
  • test
  • slewtest
  • simtest
  • view-think
  • vm-pending
  • media-buf
  • scope
  • passthrough
  • wave
  • vsync
  • dos-main-patch-50543
  • json-error
  • rahix/big-flow3r
  • pippin/media_framework
  • v1.3.0
  • v1.2.0
  • v1.2.0+rc1
  • v1.1.1
  • v1.1.0
  • v1.1.0+rc1
  • v1.0.0
  • v1.0.0+rc6
  • v1.0.0+rc5
  • v1.0.0+rc4
  • v1.0.0+rc3
  • v1.0.0+rc2
  • v1.0.0+rc1
34 results

st3m_captouch.c

Blame
  • Forked from flow3r / flow3r firmware
    Source project has a limited visibility.
    make-frozen.py 1.34 KiB
    #!/usr/bin/env python
    #
    # Create frozen modules structure for MicroPython.
    #
    # Usage:
    #
    # Have a directory with modules to be frozen (only modules, not packages
    # supported so far):
    #
    # frozen/foo.py
    # frozen/bar.py
    #
    # Run script, passing path to the directory above:
    #
    # ./make-frozen.py frozen > frozen.c
    #
    # Include frozen.c in your build, having defined MICROPY_MODULE_FROZEN_STR in
    # config.
    #
    from __future__ import print_function
    import sys
    import os
    
    
    def module_name(f):
        return f[:-len(".py")]
    
    modules = []
    
    root = sys.argv[1].rstrip("/")
    root_len = len(root)
    
    for dirpath, dirnames, filenames in os.walk(root):
        for f in filenames:
            fullpath = dirpath + "/" + f
            st = os.stat(fullpath)
            modules.append((fullpath[root_len + 1:], st))
    
    print("#include <stdint.h>")
    print("const char mp_frozen_str_names[] = {")
    for f, st in modules:
        m = module_name(f)
        print('"%s\\0"' % m)
    print('"\\0"};')
    
    print("const uint32_t mp_frozen_str_sizes[] = {")
    
    for f, st in modules:
        print("%d," % st.st_size)
    
    print("};")
    
    print("const char mp_frozen_str_content[] = {")
    for f, st in modules:
        data = open(sys.argv[1] + "/" + f, "rb").read()
        # Python2 vs Python3 tricks
        data = repr(data)
        if data[0] == "b":
            data = data[1:]
        data = data[1:-1]
        data = data.replace('"', '\\"')
        print('"%s\\0"' % data)
    print("};")