pixel 제어하기 8 * 8 LED matrix 색, 위치를 개별 제어하려면 픽셀 주소, 색을 알아야 한다. 가로 8, 세로 8, 1 점 당 rgb 3개 = 192개 주소가 rgb 값을 갖는다. 여러 삽질과 인터넷 검색으로 아래 정보를 확인 했다. 개별 소자를 다음과 같이 제어할 수 있다. $>i2cset 1(i2c 채널 번호) 0x47?(노드 번호) 0x1(점 주소) 0x10(색…… sensehat i2c led2472g(2) 계속 읽기


sensehat i2c led2472g
I2C에 연결된 LED Matrix 밝기 제어 sensehat 모듈에 LED matrix가 i2c로 설치, 연결되어 있다. LED2472G가 각 연결된 LED를 제어하는데, AVR이 i2c로 라즈베리 파이와 LED2472G 를 중계한다. LED를 제어한다고 LED2472G datasheet를 찾으면 별 도움이 안된다. AVR로 led를 어떻게 제어하는지 잘 공개되지 않은 듯 하다. 아무리 찾아도 c로 작성한 코드를 찾을 수 없다. i2c 0x46에 0~191까지 밝기를…… sensehat i2c led2472g 계속 읽기
sensehat i2c hts221
HTS221 temperature conversion 데이터 시트에 수식을 정확하게 써야지, linear interpolation을 머 이리 어렵게 썼는지.. U가 or 같은데, 정확하게 어떤 의미로 썼는지 모르겠다. 하. T0_DegC, T_DegC, T1_DegC, T0_OUT, T_OUT, T1_OUT을 모두 확인 한 후에 위 그래프로 알아서 구하라는 말이었다. 미친!!! 위 식대로 하면 172도를 볼 수 있다. stack overflow에 있듯이 T0_degC, T1_degC가 10비트임을 인식해야 한다. T0T1MSB에…… sensehat i2c hts221 계속 읽기
unkown symbol
insmod 실행 시 unknown symbol 에러 가끔 모듈을 컴파일 하여 insmod로 추가할 때 unknown symbol 에러로 추가가 안 될 경우가 있다. xpad.c를 따라할 때 해당 함수를 찾아 지우고 했지만, 이번 sensehat을 사용하려는 기본 함수는 지울 수 없어 이유를 찾아야 했다. [ 8890.395611] sensehat_core: loading out-of-tree module taints kernel. [ 8890.395805] sensehat_core: Unknown symbol __devm_regmap_init_i2c (err…… unkown symbol 계속 읽기
linux pages
Pages 연속된 메모리를 할당을 테스트 했다. dmes로 보면 어느 정도 출력하다 끊어 버린다. 마지막 데이터를 확인 했다. #include<linux/kernel.h> #include<linux/init.h> #include<linux/module.h> #include <linux/slab.h> #include <linux/mempool.h> #define PAGES_ORDER 2 char* data; static int __init hello_world_init(void) /* Constructor */ { printk(KERN_INFO “hello, pages\n”); /* memory 할당*/ data = (char*)__get_free_pages(GFP_KERNEL, PAGES_ORDER); if (!data){ printk(“no pages allocated\n”); return ENOMEM; }…… linux pages 계속 읽기