- MAA_NUM_SAMPLES 140에서 100으로 변경 (DR_ADC_ECHO_SAMPLES_MAX 제한) - 단일(mec) 및 모든 채널(maa) 에코 캡처 명령 수신 시 Piezo 자동 Active, 응답 송신 후 Sleep - Cmd_mpa 중복 호출 정리 (dr_piezo_system_init 내부에 power_on 포함) - 채널별 디버그 로그 추가 - 코드 리뷰 주석 정리 및 기타 파일 업데이트 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
64 lines
2.4 KiB
C
64 lines
2.4 KiB
C
/*******************************************************************************
|
|
* @file fstorage.h
|
|
* @author CandyPops Co.
|
|
* @version V1.0.0
|
|
* @date 2022-09-05
|
|
* @brief FDS(Flash Data Storage) 기반 설정 저장 모듈 인터페이스
|
|
*******************************************************************************
|
|
*
|
|
* [헤더 개요]
|
|
* nRF52840 내장 플래시에 디바이스 설정을 저장/로드하는 FDS 모듈의 공용 API.
|
|
* 외부 EEPROM을 대체하며, SoftDevice와 공존하여 플래시를 안전하게 관리한다.
|
|
*
|
|
* [config_data_t 구조체] (45바이트, 패킹됨)
|
|
* magic_number(4B): 포맷 확인용 (0x20231226)
|
|
* hw_no(12B): 하드웨어 번호
|
|
* serial_no(12B): 시리얼 번호 (BLE 디바이스 이름으로도 사용)
|
|
* static_passkey(6B): BLE 페어링 패스키 (숫자 6자리)
|
|
* bond_data_delete(1B): 본딩 삭제 플래그
|
|
* reset_status(1B): 리셋 상태 코드
|
|
* pd_adc_cnt(1B): ADC 샘플링 횟수
|
|
* pd_delay_us(2B): PD 안정화 딜레이 (마이크로초)
|
|
* life_cycle(4B): 디바이스 사용 횟수
|
|
*
|
|
* [주요 API]
|
|
* fs_storage_init(): FDS 초기화 (부트 시 1회)
|
|
* config_load(): FDS에서 설정 로드 (없으면 기본값 생성)
|
|
* config_save(): 현재 설정을 FDS에 저장
|
|
*
|
|
******************************************************************************/
|
|
|
|
#ifndef IHP_FSTORAGE_H_
|
|
#define IHP_FSTORAGE_H_
|
|
|
|
#include "sdk_config.h"
|
|
|
|
#include "nordic_common.h"
|
|
#include <stdint.h>
|
|
|
|
#pragma pack(1)
|
|
typedef struct
|
|
{
|
|
uint32_t magic_number; /* 4B - 0x20231226 */
|
|
char hw_no[12]; /* 12B - HW Number */
|
|
char serial_no[12]; /* 12B - Serial Number */
|
|
uint8_t static_passkey[6]; /* 6B - BLE Passkey */
|
|
uint8_t bond_data_delete; /* 1B - Bond delete flag */
|
|
int8_t reset_status; /* 1B - Reset status */
|
|
uint8_t pd_adc_cnt; /* 1B - ADC sample count */
|
|
uint16_t pd_delay_us; /* 2B - PD delay (us) */
|
|
uint32_t life_cycle; /* 4B - Device usage count (sxz/syz command) */
|
|
} config_data_t; /* Total: 45 bytes - FDS에 저장하는 디바이스 설정 */
|
|
|
|
extern config_data_t m_config;
|
|
|
|
void fds_default_value_set(void);
|
|
void config_load( void );
|
|
void config_save( void );
|
|
|
|
void fs_set_value(void);
|
|
void fs_storage_init(void);
|
|
|
|
#endif /* IHP_FSTORAGE_H_ */
|
|
|