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

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[]"
  }
}
相关推荐
霖霖7149 分钟前
【ESP32笔记】ESP中的分区表
笔记·单片机·mcu·物联网
亿道电子Emdoor30 分钟前
【Arm】访问陷阱简介
arm开发·单片机·mcu
Brilliantwxx17 小时前
【STM32】 通用定时器:输入捕获与输出比较详解 测脉宽、测频率
stm32·单片机·嵌入式硬件·mcu
霖霖71419 小时前
【ESP32笔记】RGB灯WS2812实验
笔记·单片机·mcu·物联网
霖霖71419 小时前
【ESP32笔记】开发环境的搭建
单片机·mcu·物联网
霖霖71421 小时前
【ESP32笔记】freeRTOS使用教学
笔记·单片机·mcu·物联网
霖霖7141 天前
【ESP32笔记】工程目录解析
笔记·单片机·mcu·物联网
霖霖7141 天前
【ESP32笔记】ADC获取NTC温度
笔记·单片机·mcu·物联网
霖霖7141 天前
【ESP32笔记】SDIO读写TF卡
笔记·单片机·嵌入式硬件·mcu·物联网
霖霖7141 天前
【ESP32笔记】读取DHT11温湿度数据
笔记·单片机·mcu·物联网