diff --git a/.obsidian/vault-stats.json b/.obsidian/vault-stats.json index 5fc3ee0..4186e08 100644 --- a/.obsidian/vault-stats.json +++ b/.obsidian/vault-stats.json @@ -1 +1 @@ -{"history":{"2023-07-28":{"words":5,"characters":54,"sentences":0,"pages":0,"files":5,"footnotes":0,"citations":0,"totalWords":673,"totalCharacters":4463,"totalSentences":28,"totalFootnotes":1628,"totalCitations":1628,"totalPages":2.1999999999999997},"2023-07-29":{"words":327,"characters":1836,"sentences":2,"pages":1.1,"files":9,"footnotes":0,"citations":0,"totalWords":1082,"totalCharacters":10236,"totalSentences":35,"totalFootnotes":0,"totalCitations":0,"totalPages":3.5},"2023-07-30":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":2549,"totalCharacters":43764,"totalSentences":36,"totalFootnotes":0,"totalCitations":0,"totalPages":8.4},"2023-08-04":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":2672,"totalCharacters":43999,"totalSentences":37,"totalFootnotes":0,"totalCitations":0,"totalPages":8.8},"2023-08-19":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":2549,"totalCharacters":43764,"totalSentences":36,"totalFootnotes":0,"totalCitations":0,"totalPages":8.4},"2023-09-03":{"words":500,"characters":1088,"sentences":23,"pages":1.7,"files":11,"footnotes":0,"citations":0,"totalWords":3049,"totalCharacters":44853,"totalSentences":59,"totalFootnotes":31924,"totalCitations":31924,"totalPages":10.099999999999994},"2023-09-05":{"words":5,"characters":10,"sentences":0,"pages":0,"files":11,"footnotes":0,"citations":0,"totalWords":3054,"totalCharacters":44863,"totalSentences":59,"totalFootnotes":504,"totalCitations":504,"totalPages":10.100000000000001},"2023-09-09":{"words":3801,"characters":5678,"sentences":65,"pages":12.7,"files":16,"footnotes":0,"citations":0,"totalWords":7695,"totalCharacters":58444,"totalSentences":135,"totalFootnotes":0,"totalCitations":0,"totalPages":25.599999999999998},"2023-09-10":{"words":64,"characters":114,"sentences":2,"pages":0.19999999999999996,"files":17,"footnotes":0,"citations":0,"totalWords":7916,"totalCharacters":63690,"totalSentences":137,"totalFootnotes":6481,"totalCitations":6481,"totalPages":26.3},"2023-10-25":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":7918,"totalCharacters":65864,"totalSentences":138,"totalFootnotes":0,"totalCitations":0,"totalPages":26.3},"2023-11-22":{"words":0,"characters":0,"sentences":0,"pages":0,"files":17,"footnotes":0,"citations":0,"totalWords":7917,"totalCharacters":63694,"totalSentences":138,"totalFootnotes":135,"totalCitations":135,"totalPages":26.3},"2023-12-06":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":7917,"totalCharacters":63693,"totalSentences":138,"totalFootnotes":0,"totalCitations":0,"totalPages":26.3},"2023-12-12":{"words":54,"characters":209,"sentences":0,"pages":0.19999999999999996,"files":18,"footnotes":0,"citations":0,"totalWords":7971,"totalCharacters":63902,"totalSentences":138,"totalFootnotes":88,"totalCitations":88,"totalPages":26.5}},"modifiedFiles":{"Projects - rabbit's/software/meteor capture/software/infra/FourFrameFormat文件协议.md":{"words":{"initial":450,"current":504},"characters":{"initial":810,"current":1019},"sentences":{"initial":8,"current":8},"footnotes":{"initial":0,"current":0},"citations":{"initial":0,"current":0},"pages":{"initial":1.5,"current":1.7}}}} \ No newline at end of file +{"history":{"2023-07-28":{"words":5,"characters":54,"sentences":0,"pages":0,"files":5,"footnotes":0,"citations":0,"totalWords":673,"totalCharacters":4463,"totalSentences":28,"totalFootnotes":1628,"totalCitations":1628,"totalPages":2.1999999999999997},"2023-07-29":{"words":327,"characters":1836,"sentences":2,"pages":1.1,"files":9,"footnotes":0,"citations":0,"totalWords":1082,"totalCharacters":10236,"totalSentences":35,"totalFootnotes":0,"totalCitations":0,"totalPages":3.5},"2023-07-30":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":2549,"totalCharacters":43764,"totalSentences":36,"totalFootnotes":0,"totalCitations":0,"totalPages":8.4},"2023-08-04":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":2672,"totalCharacters":43999,"totalSentences":37,"totalFootnotes":0,"totalCitations":0,"totalPages":8.8},"2023-08-19":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":2549,"totalCharacters":43764,"totalSentences":36,"totalFootnotes":0,"totalCitations":0,"totalPages":8.4},"2023-09-03":{"words":500,"characters":1088,"sentences":23,"pages":1.7,"files":11,"footnotes":0,"citations":0,"totalWords":3049,"totalCharacters":44853,"totalSentences":59,"totalFootnotes":31924,"totalCitations":31924,"totalPages":10.099999999999994},"2023-09-05":{"words":5,"characters":10,"sentences":0,"pages":0,"files":11,"footnotes":0,"citations":0,"totalWords":3054,"totalCharacters":44863,"totalSentences":59,"totalFootnotes":504,"totalCitations":504,"totalPages":10.100000000000001},"2023-09-09":{"words":3801,"characters":5678,"sentences":65,"pages":12.7,"files":16,"footnotes":0,"citations":0,"totalWords":7695,"totalCharacters":58444,"totalSentences":135,"totalFootnotes":0,"totalCitations":0,"totalPages":25.599999999999998},"2023-09-10":{"words":64,"characters":114,"sentences":2,"pages":0.19999999999999996,"files":17,"footnotes":0,"citations":0,"totalWords":7916,"totalCharacters":63690,"totalSentences":137,"totalFootnotes":6481,"totalCitations":6481,"totalPages":26.3},"2023-10-25":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":7918,"totalCharacters":65864,"totalSentences":138,"totalFootnotes":0,"totalCitations":0,"totalPages":26.3},"2023-11-22":{"words":0,"characters":0,"sentences":0,"pages":0,"files":17,"footnotes":0,"citations":0,"totalWords":7917,"totalCharacters":63694,"totalSentences":138,"totalFootnotes":135,"totalCitations":135,"totalPages":26.3},"2023-12-06":{"words":0,"characters":0,"sentences":0,"pages":0,"files":0,"footnotes":0,"citations":0,"totalWords":7917,"totalCharacters":63693,"totalSentences":138,"totalFootnotes":0,"totalCitations":0,"totalPages":26.3},"2023-12-12":{"words":150,"characters":1090,"sentences":0,"pages":0.5,"files":18,"footnotes":0,"citations":0,"totalWords":8067,"totalCharacters":64783,"totalSentences":138,"totalFootnotes":243,"totalCitations":243,"totalPages":26.8}},"modifiedFiles":{"Projects - rabbit's/software/meteor capture/software/infra/FourFrameFormat文件协议.md":{"words":{"initial":450,"current":600},"characters":{"initial":810,"current":1900},"sentences":{"initial":8,"current":8},"footnotes":{"initial":0,"current":0},"citations":{"initial":0,"current":0},"pages":{"initial":1.5,"current":2}}}} \ No newline at end of file diff --git a/Projects - rabbit's/software/meteor capture/software/infra/FourFrameFormat文件协议.md b/Projects - rabbit's/software/meteor capture/software/infra/FourFrameFormat文件协议.md index 822325a..059266c 100644 --- a/Projects - rabbit's/software/meteor capture/software/infra/FourFrameFormat文件协议.md +++ b/Projects - rabbit's/software/meteor capture/software/infra/FourFrameFormat文件协议.md @@ -37,7 +37,7 @@ ### 示例结构(伪代码) - +``` 文件头部 { 魔数: [u8; 4] 版本号: { 主版本号: u16, 次版本号: u16 } @@ -47,6 +47,43 @@ 可选字段: HashMap 预留空间: [u8; 128] } +``` + +``` rust +use serde::{Serialize, Deserialize}; +use std::collections::HashMap; +use std::time::SystemTime; + +#[derive(Serialize, Deserialize)] +struct FileHeader { + magic_number: [u8; 4], + version_major: u16, + version_minor: u16, + header_size: u32, + cmos_info: HashMap, + lens_info: HashMap, + exposure_settings: HashMap, + environmental_conditions: HashMap, + observation_conditions: HashMap, + device_status: HashMap, + image_processing_info: HashMap, + additional_comments: String, +} + +#[derive(Serialize, Deserialize)] +struct FourFrameData { + maxpixel: Vec, + avepixel: Vec, + stdpixel: Vec, + maxframe: Vec, +} + +#[derive(Serialize, Deserialize)] +struct MeteorObservation { + header: FileHeader, + data: FourFrameData, +} +``` 这种设计提供了足够的灵活性来适应未来可能的变化,同时保持了与旧版本的兼容性。通过使用动态大小的字段和键值对结构,可以在不更改整体文件格式的情况下轻松地扩展文件头部。 \ No newline at end of file