嵌入式彩屏单色字体点阵的存储结构设计

oled320_240.j2b.json

json 复制代码
{
  "remark": "彩屏上单色字体图的存储结构",
  "schema": {
    "MagicEnum:u32":{
      "0": "ascii字体图",
      "1": "hanzi字体图",
      "2": "icon图标图"
    },
    "Rgb565Color:u16":{
      "_[15:11] as red": "0;红",
      "_[10:5] as green": "1;绿",
      "_[4:0] as blue": "5;蓝"
    },
    "ZipFontImgUnit:u16;字体图片单元": {
      "_[15:12] as colorInx": "0:bit[4];颜色索引,最大16渐变色",
      "_[11:0] as repeatNum": "0:bit[12];重复次数,做多重复4095次"
    },
    "ZipIconImgUnit;图标图片单元": {
      "color": "0:Rgb565Color:u16;rgb颜色",
      "repeatNum": "0:u16;重复次数"
    },
    "UnZipAsciiHelper;Ascii解压辅助": {
      "startColumn": "0:u16;未压缩的起始列数",
      "zipAddressOffset": "0:u16;压缩后的偏移地址",
      "unZipWidth": "0:u16;未压缩每个元素宽度",
      "zipByteSize": "0:u16;压缩后每个字符byte大小"
    },
    "UnZipHanziHelper;Hanzi解压辅助": {
      "zipAddressOffset": "0:u32;压缩后的偏移地址",
      "zipByteSize": "0:u16;压缩后每个字符byte大小",
      "gbkCode": "0:u16;gbk码,图片根据gbk码升序排列"
    }
  },
  "agreement": [
    "1.暂时在spiFlash紧挨着放3个bin文件",
    "2.unZipHelper偏移地址固定",
    "3.data偏移地址是根据unZipHelper计算出的",
    "4.data的地址=&unZipHelper+sizeof(unZipHelper[0])*unZipHelper.length",
    "5.data占用的字节数=(data.length)*3"
  ],
  "colorTableContent:@0,160;单独生成colorTable.bin文件,预留10种颜色表,开机读一次": {
    "blackYellow": "0:u16[16];黑底黄字",
    "blackBlue": "0:u16[16];黑底蓝字",
    "blueWhite": "0:u16[16];蓝底白字",
    "blackGreen": "0:u16[16];黑底绿字",
    "blackRed": "0:u16[16];黑底红字"
  },
  "ascii24Content@160;单独生成ascii24Wrap.bin文件": {
    "length@0": "0:u32;总字节数",
    "magic@4": "0:MagicEnum:u32;文件类型",
    "fileName@8":"ascii24.bin:str",
    "gmtCreate@24": "0:u32;创建时间",
    "gmtModified@28": "0:u32;修改时间",
    "width@32":       "0:u16;图片宽度",
    "height@34":     "0:u16;图片高度",
    "checkSum@36":    "0:u32;校验和",
    "unZipHelper@40": "0:UnZipAsciiHelper[]",
    "data":            "0:ZipFontImgUnit[]"
  },
  "hanzi24Content@0x00004000;单独生成hanzi24Wrap.bin文件": {
    "length@0": "0:u32;总字节数",
    "magic@4": "0:MagicEnum:u32;文件类型",
    "fileName@8":"hanzi24.bin:str",
    "gmtCreate@24": "0:u32;创建时间",
    "gmtModified@28": "0:u32;修改时间",
    "width@32":       "0:u16;图片宽度",
    "height@34":     "0:u16;图片高度",
    "checkSum@36":    "0:u32;校验和",
    "unZipHelper@40": "0:UnZipHanziHelper[]",
    "data":           "0:ZipFontImgUnit[]"
  }
}
相关推荐
郝亚军19 小时前
获取libiec61850和如何编译iec61850库
mcu·tcp/ip
liu_endong1 天前
杰发科技AC7840——打印所有GPIO的PORT配置寄存器
mcu·算法·杰发科技·autochips·车规芯片
想放学的刺客1 天前
单片机嵌入式系统试题(第28期)flash芯片各引脚作用?低功耗设计估算电池续航时间是多少?如何优化低功耗等项目经验
stm32·单片机·嵌入式硬件·mcu·物联网·51单片机
MickyCode3 天前
嵌入式开发调试之Traceback
arm开发·stm32·单片机·mcu
wotaifuzao4 天前
【Keil 5安装】keil 5最新版本安装+环境配置+下载百度资源分享(安装包,注册机等)
stm32·单片机·嵌入式硬件·mcu·学习·keil5·最新keil
帅次4 天前
系统分析师-信息物理系统分析与设计
stm32·单片机·嵌入式硬件·mcu·物联网·iot·rtdbs
MounRiver_Studio4 天前
RISC-V IDE MRS2进阶分享(三):MRS语言服务器
ide·mcu·risc-v·嵌入式开发
MounRiver_Studio4 天前
RISC-V IDE MRS2进阶分享(四):CH32H417双核芯片项目开发
ide·mcu·risc-v·嵌入式开发
EVERSPIN5 天前
符合新国标要求的充电宝低功耗MCU解决方案
单片机·mcu·低功耗mcu
想放学的刺客6 天前
单片机嵌入式试题(第25)嵌入式系统可靠性设计与外设驱动异常处理
stm32·单片机·嵌入式硬件·mcu·物联网