import os from .display import Color, clr, print_filler, print_warning def check_printsize(target, source, env): (binary,) = target path = binary.get_abspath() size = os.stat(path).st_size print(clr(Color.LIGHT_BLUE, "Binary size: {} bytes".format(size))) # Warn 1MB variants about exceeding OTA size limit flash_size = int(env.BoardConfig().get("upload.maximum_size", 0)) if (flash_size == 1048576) and (size >= 512000): print_filler("*", color=Color.LIGHT_YELLOW, err=True) print_warning( "File is too large for OTA! Here you can find instructions on how to flash it:" ) print_warning( "https://github.com/xoseperez/espurna/wiki/TwoStepUpdates", color=Color.LIGHT_CYAN, ) print_filler("*", color=Color.LIGHT_YELLOW, err=True) def check_cppcheck(target, source, env): print_warning("Started cppcheck...\n") call(["cppcheck", os.getcwd() + "/espurna", "--force", "--enable=all"]) print_warning("Finished cppcheck...\n")