코드 수정 1시간 , 문서작성 및 결재 1주일.
아래 문서는 과장이기도 하지만 실제 현실이기도 하다.
이런 곳에서는 처음에는 반항하다가 나중에는 이게 정상인 줄 알고 항목을 하나 더 만든다. 예들들면 GIT 커밋 해쉬 값. 아 아니다 이런데서 GIT 를 사용할리가 없지.
우리 회사에는 문서가 거의 없는데, 단점은 직원들이 문서를 안쓰다 보니 정작 필요한 문서를 쓰는 법을 잘 모른다는 것이다. 그렇지만 코드를 작성하지 못하는 것 보다는 100배 낫다.
 
직원들이 다 잘하면 좋겠지만 그건 욕심이다.

https://www.winsen-sensor.com/product/mp-3b.html?campaignid=21472985515&adgroupid=163472020486&feeditemid=&targetid=kwd-324378996163&device=c&creative=705851074211&keyword=alcohol%20sensor&gad_source=1&gclid=EAIaIQobChMIspnEhI3qhwMVtAl7Bx3xPwXDEAAYASAAEgJy8_D_BwE

 

MP-3B Flat Surfaced Alcohol Sensor

The sensor has been fully tested (not calibrated) before leaving the factory. However, after transportation and storage, the environment conditions change, and the surface of the sensor absorbs moisture, mixed gas, pollution matters, etc. It is recommended

www.winsen-sensor.com

 

최근 이 센서로 알콜 측정기를 개발하고 있는데.. 쉽게 접근했다가 된통 당하고 있는중.

 

log 와 power 함수를 쓰게 될줄이야 ㅎㅎㅎ

그나저나 센서 안정화를 검증하는 시간이 너무 길다....

 

오랜만에 mol 수 계산도 해보고 예전 화학 수업 기억을 떠올리고 있습니다.

대강 하는 거랑 측정기를 통해서 제대로 칼리브레이션하고 동작하는 거랑은 천지 차이이다.

게다가 메모리 32kb 에 때려박으려니 코드 사이즈가 아슬아슬하네요.

 

 

아래 그림이 핵심!

매일  여러 샘플들 측정하고 30분 쉬고 엑셀로 기록..진도가 안나갑니다 T.T

 

M0 코어에서 float 연산을 할 일이 생겨서 , 아무 생각없이 software floating point 연산을 하다보니 이게 제법 코드를 차지하여서 32kb 메모리에서 도저히 다른 일을 할 수가 없게 되었다.

 

혹시나 찾아보니 역시..

누군가 M0 에 최적화한  tiny 버전을 만들어 놓았다.

 

https://www.quinapalus.com/qfplib-m0-tiny.html

 

Qfplib-M0-tiny: a free ARM Cortex-M0 floating-point library in 1 kbyte

Qfplib-M0-tiny: a free ARM Cortex-M0 floating-point library in 1 kbyte See also: Qfplib-M0-full: a similar library more optimised for speed, including both single- and double-precision functions; and Qfplib-M3: a similar library optimised for speed and acc

www.quinapalus.com

 

 

qfp_fadd
qfp_fsub
qfp_fmul
qfp_fdiv
qfp_fcmp
qfp_float2int
qfp_float2fix
qfp_int2float
qfp_fix2float
qfp_float2uint
qfp_float2ufix
qfp_uint2float
qfp_ufix2float
qfp_fcos
qfp_fsin
qfp_ftan
qfp_fatan2
qfp_fexp
qfp_fln
qfp_fsqrt

 

풀로는 이렇게 지원하고, 코드 크기가 1k 안으로 만들수 있다. gcc 에서 제공하는 라이브러는 한 2-3k 차지한듯.

한바이트라도 아쉬웠는데 이제 겨우 남은 메모리로 코딩을 할 수 있을거 같다.

 

혹시 pow 가 없다고 고민하지말 것.

고등학교에서 고1 수학을 배웠다면  위 함수로 구현이 가능합니다.

a^b = e^(b*ln(a))

+ Recent posts