embeded/raspberry pi2015. 8. 8. 19:37

Camera Serial Interface - CSI

Mobile Industry Processor Interface - MIPI

[링크 : https://en.wikipedia.org/wiki/MIPI_Alliance]


라즈베리 파이에 장착된 인터페이스로 CSI DSI중에

DSI는 구하기 드럽게 힘들고 -_-a

아무튼 카메라는 구할 수 있으니 일단 이녀석부터!


사이즈는 이정도!


CAMERA 라고 써있는 녀석을 손톱으로 톡! 해서 들어 올리고


핀 방향을 잘 맞춰서 꼽고


걸쇠를 다시 내려주면 끝!



$ sudo raspi-config


┌─────────┤ Raspberry Pi Software Configuration Tool (raspi-config) ├──────────┐

│                                                                              │

│    1 Expand Filesystem              Ensures that all of the SD card s        │

│    2 Change User Password           Change password for the default u        │

│    3 Enable Boot to Desktop/Scratch Choose whether to boot into a des        │

│    4 Internationalisation Options   Set up language and regional sett        │

│    5 Enable Camera                  Enable this Pi to work with the R        │

│    6 Add to Rastrack                Add this Pi to the online Raspber        │

│    7 Overclock                      Configure overclocking for your P        │

│    8 Advanced Options               Configure advanced settings              │

│    9 About raspi-config             Information about this configurat        │

│                                                                              │

│                                                                              │

│                                                                              │

│                     <Select>                     <Finish>                    │

│                                                                              │

└──────────────────────────────────────────────────────────────────────────────┘ 


          ┌──────────────────────────────────────────────────────────┐

          │                                                          │

          │ Enable support for Raspberry Pi camera?                  │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │                                                          │

          │               <Disable>              <Enable>            │

          │                                                          │

          └──────────────────────────────────────────────────────────┘ 


Enable 해주고 나면 강제로 리부팅 된다.


pi@raspberrypi ~ $ raspi

raspi-config  raspistill    raspivid      raspiyuv

pi@raspberrypi ~ $ whereis raspistill

raspistill: /usr/bin/raspistill /usr/bin/X11/raspistill /opt/vc/bin/raspistill

pi@raspberrypi ~ $ whereis raspivid

raspivid: /usr/bin/raspivid /usr/bin/X11/raspivid /opt/vc/bin/raspivid


raspivid는 5초간만 출력하는것이 기본값이니 -t 0 으로 해주면 종료되지 않고 계속 출력된다.


pi@raspberrypi ~ $ raspistill

raspistill Camera App v1.3.8


Runs camera for specific time, and take JPG capture at end if requested


usage: raspistill [options]


Image parameter commands


-?, --help      : This help information

-w, --width     : Set image width <size>

-h, --height    : Set image height <size>

-q, --quality   : Set jpeg quality <0 to 100>

-r, --raw       : Add raw bayer data to jpeg metadata

-o, --output    : Output filename <filename> (to write to stdout, use '-o -'). If not specified, no file is saved

-l, --latest    : Link latest complete image to filename <filename>

-v, --verbose   : Output verbose information during run

-t, --timeout   : Time (in ms) before takes picture and shuts down (if not specified, set to 5s)

-th, --thumb    : Set thumbnail parameters (x:y:quality) or none

-d, --demo      : Run a demo mode (cycle through range of camera options, no capture)

-e, --encoding  : Encoding to use for output file (jpg, bmp, gif, png)

-x, --exif      : EXIF tag to apply to captures (format as 'key=value') or none

-tl, --timelapse        : Timelapse mode. Takes a picture every <t>ms

-fp, --fullpreview      : Run the preview using the still capture resolution (may reduce preview fps)

-k, --keypress  : Wait between captures for a ENTER, X then ENTER to exit

-s, --signal    : Wait between captures for a SIGUSR1 from another process

-g, --gl        : Draw preview to texture instead of using video render component

-gc, --glcapture        : Capture the GL frame-buffer instead of the camera image

-set, --settings        : Retrieve camera settings and write to stdout

-cs, --camselect        : Select camera <number>. Default 0

-bm, --burst    : Enable 'burst capture mode'

-md, --mode     : Force sensor mode. 0=auto. See docs for other modes available

-dt, --datetime : Replace frame number in file name with DateTime (YearMonthDayHourMinSec)

-ts, --timestamp        : Replace frame number in file name with unix timestamp (seconds since 1900)


Preview parameter commands


-p, --preview   : Preview window settings <'x,y,w,h'>

-f, --fullscreen        : Fullscreen preview mode

-op, --opacity  : Preview window opacity (0-255)

-n, --nopreview : Do not display a preview window


Image parameter commands


-sh, --sharpness        : Set image sharpness (-100 to 100)

-co, --contrast : Set image contrast (-100 to 100)

-br, --brightness       : Set image brightness (0 to 100)

-sa, --saturation       : Set image saturation (-100 to 100)

-ISO, --ISO     : Set capture ISO

-vs, --vstab    : Turn on video stabilisation

-ev, --ev       : Set EV compensation

-ex, --exposure : Set exposure mode (see Notes)

-awb, --awb     : Set AWB mode (see Notes)

-ifx, --imxfx   : Set image effect (see Notes)

-cfx, --colfx   : Set colour effect (U:V)

-mm, --metering : Set metering mode (see Notes)

-rot, --rotation        : Set image rotation (0-359)

-hf, --hflip    : Set horizontal flip

-vf, --vflip    : Set vertical flip

-roi, --roi     : Set region of interest (x,y,w,d as normalised coordinates [0.0-1.0])

-ss, --shutter  : Set shutter speed in microseconds

-awbg, --awbgains       : Set AWB gains - AWB mode must be off

-drc, --drc     : Set DRC Level

-st, --stats    : Force recomputation of statistics on stills capture pass

-a, --annotate  : Enable/Set annotate flags or text

-3d, --stereo   : Select stereoscopic mode

-dec, --decimate        : Half width/height of stereo image

-3dswap, --3dswap       : Swap camera order for stereoscopic

-ae, --annotateex       : Set extra annotation parameters (text size, text colour(hex YUV), bg colour(hex YUV))



Notes


Exposure mode options :

auto,night,nightpreview,backlight,spotlight,sports,snow,beach,verylong,fixedfps,antishake,fireworks


AWB mode options :

off,auto,sun,cloud,shade,tungsten,fluorescent,incandescent,flash,horizon


Image Effect mode options :

none,negative,solarise,sketch,denoise,emboss,oilpaint,hatch,gpen,pastel,watercolour,film,blur,saturation,colourswap,washedout,posterise,colourpoint,colourbalance,cartoon


Metering Mode options :

average,spot,backlit,matrix


Dynamic Range Compression (DRC) options :

off,low,med,high


Preview parameter commands


-gs, --glscene  : GL scene square,teapot,mirror,yuv,sobel

-gw, --glwin    : GL window settings <'x,y,w,h'> 


pi@raspberrypi ~ $ raspivid


raspivid Camera App v1.3.12


Display camera output to display, and optionally saves an H264 capture at requested bitrate



usage: raspivid [options]


Image parameter commands


-?, --help      : This help information

-w, --width     : Set image width <size>. Default 1920

-h, --height    : Set image height <size>. Default 1080

-b, --bitrate   : Set bitrate. Use bits per second (e.g. 10MBits/s would be -b 10000000)

-o, --output    : Output filename <filename> (to write to stdout, use '-o -')

-v, --verbose   : Output verbose information during run

-t, --timeout   : Time (in ms) to capture for. If not specified, set to 5s. Zero to disable

-d, --demo      : Run a demo mode (cycle through range of camera options, no capture)

-fps, --framerate       : Specify the frames per second to record

-e, --penc      : Display preview image *after* encoding (shows compression artifacts)

-g, --intra     : Specify the intra refresh period (key frame rate/GoP size). Zero to produce an initial I-frame and then just P-frames.

-pf, --profile  : Specify H264 profile to use for encoding

-td, --timed    : Cycle between capture and pause. -cycle on,off where on is record time and off is pause time in ms

-s, --signal    : Cycle between capture and pause on Signal

-k, --keypress  : Cycle between capture and pause on ENTER

-i, --initial   : Initial state. Use 'record' or 'pause'. Default 'record'

-qp, --qp       : Quantisation parameter. Use approximately 10-40. Default 0 (off)

-ih, --inline   : Insert inline headers (SPS, PPS) to stream

-sg, --segment  : Segment output file in to multiple files at specified interval <ms>

-wr, --wrap     : In segment mode, wrap any numbered filename back to 1 when reach number

-sn, --start    : In segment mode, start with specified segment number

-sp, --split    : In wait mode, create new output file for each start event

-c, --circular  : Run encoded data through circular buffer until triggered then save

-x, --vectors   : Output filename <filename> for inline motion vectors

-cs, --camselect        : Select camera <number>. Default 0

-set, --settings        : Retrieve camera settings and write to stdout

-md, --mode     : Force sensor mode. 0=auto. See docs for other modes available

-if, --irefresh : Set intra refresh type



H264 Profile options :

baseline,main,high



H264 Intra refresh options :

cyclic,adaptive,both,cyclicrows


Preview parameter commands


-p, --preview   : Preview window settings <'x,y,w,h'>

-f, --fullscreen        : Fullscreen preview mode

-op, --opacity  : Preview window opacity (0-255)

-n, --nopreview : Do not display a preview window


Image parameter commands


-sh, --sharpness        : Set image sharpness (-100 to 100)

-co, --contrast : Set image contrast (-100 to 100)

-br, --brightness       : Set image brightness (0 to 100)

-sa, --saturation       : Set image saturation (-100 to 100)

-ISO, --ISO     : Set capture ISO

-vs, --vstab    : Turn on video stabilisation

-ev, --ev       : Set EV compensation

-ex, --exposure : Set exposure mode (see Notes)

-awb, --awb     : Set AWB mode (see Notes)

-ifx, --imxfx   : Set image effect (see Notes)

-cfx, --colfx   : Set colour effect (U:V)

-mm, --metering : Set metering mode (see Notes)

-rot, --rotation        : Set image rotation (0-359)

-hf, --hflip    : Set horizontal flip

-vf, --vflip    : Set vertical flip

-roi, --roi     : Set region of interest (x,y,w,d as normalised coordinates [0.0-1.0])

-ss, --shutter  : Set shutter speed in microseconds

-awbg, --awbgains       : Set AWB gains - AWB mode must be off

-drc, --drc     : Set DRC Level

-st, --stats    : Force recomputation of statistics on stills capture pass

-a, --annotate  : Enable/Set annotate flags or text

-3d, --stereo   : Select stereoscopic mode

-dec, --decimate        : Half width/height of stereo image

-3dswap, --3dswap       : Swap camera order for stereoscopic

-ae, --annotateex       : Set extra annotation parameters (text size, text colour(hex YUV), bg colour(hex YUV))



Notes


Exposure mode options :

auto,night,nightpreview,backlight,spotlight,sports,snow,beach,verylong,fixedfps,antishake,fireworks


AWB mode options :

off,auto,sun,cloud,shade,tungsten,fluorescent,incandescent,flash,horizon


Image Effect mode options :

none,negative,solarise,sketch,denoise,emboss,oilpaint,hatch,gpen,pastel,watercolour,film,blur,saturation,colourswap,washedout,posterise,colourpoint,colourbalance,cartoon


Metering Mode options :

average,spot,backlit,matrix


Dynamic Range Compression (DRC) options :

off,low,med,high


지원가능한 해상도는 아래와 같은데..

5M에서도 15fps가 나오나보네? ㄷㄷㄷ



[링크 : http://www.ovt.com/uploads/parts/OV5647.pdf]


120 프레임 보고 싶은데.. 잘 안되는거 같네..

fps를 1로 해도 부드럽게 나온다.. 30fps 고정인가?

pi@raspberrypi ~ $ raspivid -w 320 -h 230 -t 0 -f -v -fps 120


raspivid Camera App v1.3.12


Width 320, Height 230, filename (null)

bitrate 17000000, framerate 120, time delay 0

H264 Profile high

H264 Quantisation level 0, Inline headers No

H264 Intra refresh type (null), period -1

Wait method : Capture forever

Initial state 'record'



Preview Yes, Full screen Yes

Preview window 0,0,1024,768

Opacity 255

Sharpness 0, Contrast 0, Brightness 50

Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0

Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'

Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128

Rotation 0, hflip No, vflip No

ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000

Camera component done

Encoder component done

Starting component connection stage

Connecting camera preview port to preview input port

Starting video preview

Connecting camera stills port to encoder input port

Enabling encoder output port 


엘레파츠의 자료내에 포함된 예제 옵션

$ raspistill -o image.jpg

$ raspivid -o video.h264 -t 10000

[링크 : http://eleparts.co.kr/EPXD4BBD]


csi의 경우 /dev/video 처럼 v4l로 인식이 되지 않아 콘솔상에서 파이프라인을 통해 보내야 할 듯 하다.

$ raspivid -o - -t 9999999 -w 640 -h 360 -fps 25 | tee videofilename.h264 | cvlc stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264


[링크 : http://raspi.tv/.../how-to-stream-vlc-from-a-raspberry-pi-with-gpio-control-but-without-being-root] 


라즈베리 쪽 설정

pi@raspberrypi ~ $ raspivid -o - -t 0 |cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264


클라이언트 쪽 설정/windows + vlc


vlc의 캐쉬를 0으로 설정해도 1초 정도의 지연이 생긴다 -_ㅠ


[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=43969] 




+

2015.08.24


Basically the cable specifications are :

Type : FFC / FPC (Flat Flex)

Wires : 15 

Pitch : 1mm

Contacts : Type B (This means you have the contacts at opposite sides of the cable. So one is at the top and the other at the bottom)

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=43737]



+

2015.09.15


$ raspivid -o - -t 0 -n | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264

[링크 : http://www.raspberry-projects.com/pi/pi-hardware/raspberry-pi-camera/streaming-video-using-vlc-player]

Posted by 구차니
embeded/raspberry pi2015. 8. 7. 10:21

중고나라에서 센서들 살까 하다가

일단은 눈물을 머금고.. 휴가동안 소소하게 가지고 놀고

앞으로도 꾸준히 가지고 놀수 있을 것 같은 녀석으로 구매 ㅠㅠ




Posted by 구차니
embeded/raspberry pi2015. 8. 5. 15:27

지인 : 조만간 지르겠군..



[링크 : http://eleparts.co.kr/EPXDR9TM] 3.5" LCD 320*480

    [링크 : http://cafe.naver.com/pipc/11690]

[링크 : http://eleparts.co.kr/EPXD4BBD] 5M CIS OV5647

Posted by 구차니
embeded/raspberry pi2015. 8. 5. 09:28

예전회사에서 ARM9 으로 테스트 하던 녀석들 얼마나 먹나 궁금해서 URL 찾아서 해보니. ㄷㄷㄷ

의외로 ARM11도 쓸만하구나...


WMAPro / WMA2 / AAC+

오디오인데.. ARM9에서는 끊어지던 녀석들이.. 눈물나게 잘 나온다. ㄷㄷㄷ



ARM11의 mpegaudio에 AAC+가 포함되서 그런건가?

2015/01/26 - [프로그램 사용/ffmpeg / ffserver] - ffmpeg arm 아키텍쳐별 최적화 코덱



pi@raspberrypi ~ $ mplayer mms://stream.polskieradio.pl/zagranica_wma10

ASF file format detected.

[asfheader] Audio stream found, -aid 1

Clip info:

 title: Zagranica

 author: Polskie Radio S.A.

==========================================================================

Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders

libavcodec version 53.35.0 (external)

Mismatching header version 53.32.2

AUDIO: 48000 Hz, 2 ch, floatle, 48.0 kbit/1.56% (ratio: 6000->384000)

Selected audio codec: [ffwmapro] afm: ffmpeg (WMA Pro audio (FFmpeg))

==========================================================================

AO: [pulse] Init failed: Connection refused

Failed to initialize audio driver 'pulse'

[AO_ALSA] Format floatle is not supported by hardware, trying default.

AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)

Video: no video

Starting playback...

A:674191.3 (187:16:31.3) of 0.0 (unknown)  7.1% 10%



pi@raspberrypi ~ $ mplayer mms://stream.polskieradio.pl/program3

ASF file format detected.

[asfheader] Audio stream found, -aid 1

==========================================================================

Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders

libavcodec version 53.35.0 (external)

Mismatching header version 53.32.2

AUDIO: 48000 Hz, 2 ch, s16le, 96.0 kbit/6.25% (ratio: 12000->192000)

Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))

==========================================================================

AO: [pulse] Init failed: Connection refused

Failed to initialize audio driver 'pulse'

AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)

Video: no video

Starting playback...

A:674819.8 (187:26:59.8) of 0.0 (unknown)  6.6% 15%



pi@raspberrypi ~ $ mplayer http://80.86.106.110:8002/

AAC file format detected.

==========================================================================

Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders

libavcodec version 53.35.0 (external)

Mismatching header version 53.32.2

AUDIO: 44100 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->176400)

Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))

==========================================================================

AO: [pulse] Init failed: Connection refused

Failed to initialize audio driver 'pulse'

AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)

Video: no video

Starting playback...

A:   2.9 (02.8) of 0.0 (unknown) 16.3% 28%



----

라즈베리 파이 B / ARMv6 / ARM11 vfp


$ mplayer mms://stream.polskieradio.pl/zagranica_wma10

A:674191.3 (187:16:31.3) of 0.0 (unknown)  7.1% 10%


$ mplayer mms://stream.polskieradio.pl/program3

A:674819.8 (187:26:59.8) of 0.0 (unknown)  6.6% 15%


$ mplayer http://80.86.106.110:8002/

A:   2.9 (02.8) of 0.0 (unknown) 16.3% 28%


-----

라즈베리 파이 2B / ARMv7 / Cortex-A7 quad neon


$ mplayer mms://stream.polskieradio.pl/zagranica_wma10

A:723685.4 (201:01:25.4) of 0.0 (unknown)  4.0% 24%


$ mplayer mms://stream.polskieradio.pl/program3

A:724356.9 (201:12:36.9) of 0.0 (unknown)  2.9% 25%


$ mplayer http://80.86.106.110:8002/

A:   2.4 (02.3) of 0.0 (unknown)  9.2% 31%



잠시 착각했으나..

cpu 점유율 / 캐시사용률 이다 -_-a

2015/01/26 - [프로그램 사용/ffmpeg / ffserver] - mplayer status line



Posted by 구차니
embeded/Cortex-M3 Ti2015. 8. 3. 17:19

요약하면..

GPIOPortIntRegister(GPIO_PORTA_BASE, PortAIntHandler);

GPIOPinTypeGPIOInput(GPIO_PORTA_BASE,GPIO_PIN_2);

GPIOIntTypeSet(GPIO_PORTA_BASE, GPIO_PIN_2, GPIO_RISING_EDGE);

GPIOPinIntEnable(GPIO_PORTA_BASE, GPIO_PIN_2);

이렇게 셋트로 해주면 P2는 rising_edge에서 PortAIntHandler 핸들러를 호출하게 되는건가?


그리고 핸들러에서는

GPIOPinIntStatus 를 사용해서 핀 별로 처리해주면 될 듯?


9.2.2.11 GPIOPinIntStatus

Gets interrupt status for the specified GPIO port.

Prototype:

long GPIOPinIntStatus(unsigned long ulPort, tBoolean bMasked)

Parameters:

ulPort is the base address of the GPIO port.

bMasked specifies whether masked or raw interrupt status is returned.

Description:

If bMasked is set as true, then the masked interrupt status is returned; otherwise, the raw interrupt status will be returned.

Returns:

Returns a bit-packed byte, where each bit that is set identifies an active masked or raw interrupt, and where bit 0 of the byte represents GPIO port pin 0, bit 1 represents GPIO port pin 1, and so on. Bits 31:8 should be ignored. 



9.3 Programming Example

The following example shows how to use the GPIO API to initialize the GPIO, enable interrupts,

read data from pins, and write data to pins.

int iVal;
//
// Register the port-level interrupt handler. This handler is the
// first level interrupt handler for all the pin interrupts.
//
GPIOPortIntRegister(GPIO_PORTA_BASE, PortAIntHandler);
//
// Initialize the GPIO pin configuration.
//
// Set pins 2, 4, and 5 as input, SW controlled.
//
GPIOPinTypeGPIOInput(GPIO_PORTA_BASE,
GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5);
//
// Set pins 0 and 3 as output, SW controlled.
//
GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_3);
//
// Make pins 2 and 4 rising edge triggered interrupts.
//
GPIOIntTypeSet(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_4, GPIO_RISING_EDGE);
//
// Make pin 5 high level triggered interrupts.
//
GPIOIntTypeSet(GPIO_PORTA_BASE, GPIO_PIN_5, GPIO_HIGH_LEVEL);
//
// Read some pins.
//
iVal = GPIOPinRead(GPIO_PORTA_BASE,
(GPIO_PIN_0 | GPIO_PIN_2 | GPIO_PIN_3 |
GPIO_PIN_4 | GPIO_PIN_5));
//
// Write some pins. Even though pins 2, 4, and 5 are specified, those
// pins are unaffected by this write since they are configured as inputs.
// At the end of this write, pin 0 will be a 0, and pin 3 will be a 1.
//
GPIOPinWrite(GPIO_PORTA_BASE,
(GPIO_PIN_0 | GPIO_PIN_2 | GPIO_PIN_3 |
GPIO_PIN_4 | GPIO_PIN_5),
0xF4);
//
// Enable the pin interrupts.
//
GPIOPinIntEnable(GPIO_PORTA_BASE, GPIO_PIN_2 | GPIO_PIN_4 | GPIO_PIN_5);



9.2.2.4 GPIOIntTypeSet

Sets the interrupt type for the specified pin(s).


Prototype:

void GPIOIntTypeSet(unsigned long ulPort, unsigned char ucPins, unsigned long ulIntType)

Parameters:

ulPort is the base address of the GPIO port.

ucPins is the bit-packed representation of the pin(s).

ulIntType specifies the type of interrupt trigger mechanism.

Description:

This function sets up the various interrupt trigger mechanisms for the specified pin(s) on the selected GPIO port.

The parameter ulIntType is an enumerated data type that can be one of the following values:

GPIO_FALLING_EDGE

GPIO_RISING_EDGE

GPIO_BOTH_EDGES

GPIO_LOW_LEVEL

GPIO_HIGH_LEVEL

where the different values describe the interrupt detection mechanism (edge or level) and the particular triggering event (falling, rising, or both edges for edge detect, low or high for level detect).

The pin(s) are specified using a bit-packed byte, where each bit that is set identifies the pin to be accessed, and where bit 0 of the byte represents GPIO port pin 0, bit 1 represents GPIO port pin 1, and so on.

Note:

In order to avoid any spurious interrupts, the user must ensure that the GPIO inputs remain stable for the duration of this function.

Returns:

None.





[링크 : https://e2e.ti.com/support/microcontrollers/stellaris_arm/f/471/t/48738]

[링크 : http://elk.informatik.fh-augsburg.de/cdrom-stellaris/LM3S811/rasware-read-only/RASLib/src/encoder.c]

    [링크 : http://elk.informatik.fh-augsburg.de/cdrom-stellaris/LM3S811/rasware-read-only/RASLib/src/]

'embeded > Cortex-M3 Ti' 카테고리의 다른 글

lm3s stellarisware SPI  (0) 2015.10.05
cortex-m3 ROM direct call  (0) 2015.09.25
bitband / cortex-m3  (0) 2013.08.16
LM3S1968과 H-JTAG(wiggler)  (0) 2013.06.28
cortex-m3 JTAG / X-LinkEx 1.1  (0) 2013.06.11
Posted by 구차니
embeded/raspberry pi2015. 8. 3. 08:38

기본적으로는 부팅시에만 가능하고

tvservice라는 3rd party 유틸을 통해 변경은 가능하나

출력 방향만 바꾸지 해상도까지 변경되는건 아니고 오버스캔 되는 등의 문제가 있으니

완전한 해결책이라고 하긴 힘들듯.


pi@delta ~ $ tvservice -c "PAL 4:3"; fbset -depth 8; fbset -depth 16

Powering on SDTV with explicit settings (mode:2 aspect:1)


pi@delta ~ $ tvservice -p; fbset -depth 8; fbset -depth 16

Powering on HDMI with preferred settings


[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=38020]



pi@raspberrypi ~ $ tvservice

Usage: tvservice [OPTION]...

  -p, --preferred                   Power on HDMI with preferred settings

  -e, --explicit="GROUP MODE DRIVE" Power on HDMI with explicit GROUP (CEA, DMT, CEA_3D_SBS, CEA_3D_TB, CEA_3D_FP)

                                      MODE (see --modes) and DRIVE (HDMI, DVI)

  -t, --ntsc                        Use NTSC frequency for HDMI mode (e.g. 59.94Hz rather than 60Hz)

  -c, --sdtvon="MODE ASPECT"        Power on SDTV with MODE (PAL or NTSC) and ASPECT (4:3 14:9 or 16:9)

  -o, --off                         Power off the display

  -m, --modes=GROUP                 Get supported modes for GROUP (CEA, DMT)

  -M, --monitor                     Monitor HDMI events

  -s, --status                      Get HDMI status

  -a, --audio                       Get supported audio information

  -d, --dumpedid <filename>         Dump EDID information to file

  -j, --json                        Use JSON format for --modes output

  -n, --name                        Print the device ID from EDID

  -h, --help                        Print this information 


pi@raspberrypi ~ $ fbset --help
Linux Frame Buffer Device Configuration Version 2.1 (23/06/1999)
(C) Copyright 1995-1999 by Geert Uytterhoeven


Usage: fbset [options] [mode]

Valid options:
  General options:
    -h, --help         : display this usage information
    --test             : don't change, just test whether the mode is valid
    -s, --show         : display video mode settings
    -i, --info         : display all frame buffer information
    -v, --verbose      : verbose mode
    -V, --version      : print version information
    -x, --xfree86      : XFree86 compatibility mode
    -a, --all          : change all virtual consoles on this device
  Frame buffer special device nodes:
    -fb <device>       : processed frame buffer device
                         (default is /dev/fb0)
  Video mode database:
    -db <file>         : video mode database file
                         (default is /etc/fb.modes)
  Display geometry:
    -xres <value>      : horizontal resolution (in pixels)
    -yres <value>      : vertical resolution (in pixels)
    -vxres <value>     : virtual horizontal resolution (in pixels)
    -vyres <value>     : virtual vertical resolution (in pixels)
    -depth <value>     : display depth (in bits per pixel)
    -nonstd <value>    : select nonstandard video mode
    -g, --geometry ... : set all geometry parameters at once
    -match             : set virtual vertical resolution by virtual resolution
  Display timings:
    -pixclock <value>  : pixel clock (in picoseconds)
    -left <value>      : left margin (in pixels)
    -right <value>     : right margin (in pixels)
    -upper <value>     : upper margin (in pixel lines)
    -lower <value>     : lower margin (in pixel lines)
    -hslen <value>     : horizontal sync length (in pixels)
    -vslen <value>     : vertical sync length (in pixel lines)
    -t, --timings ...  : set all timing parameters at once
  Display flags:
    -accel <value>     : hardware text acceleration enable (false or true)
    -hsync <value>     : horizontal sync polarity (low or high)
    -vsync <value>     : vertical sync polarity (low or high)
    -csync <value>     : composite sync polarity (low or high)
    -gsync <value>     : synch on green (false or true)
    -extsync <value>   : external sync enable (false or true)
    -bcast <value>     : broadcast enable (false or true)
    -laced <value>     : interlace enable (false or true)
    -double <value>    : doublescan enable (false or true)
    -rgba <r,g,b,a>    : recommended length of color entries
    -grayscale <value> : grayscale enable (false or true)
  Display positioning:
    -move <direction>  : move the visible part (left, right, up or down)
    -step <value>      : step increment (in pixels or pixel lines)
                         (default is 8 horizontal, 2 vertical) 


Posted by 구차니

avt studio 4만 다뤄봐서.. 5 부터는 어떻게 되는진 모르겠지만

윈도우에서는  -D를 통해서 cpu 종류와 클럭을 넣어주었는데

리눅스에서는 컴파일러의 도움을 받아 mcu 종류를 넣어주면 알아서 확장해서 사용한다.

그래서 win-avr과 같은 종류별로 헤더를 찾는 수고로움이 더는 장점은 있지만

빌드 과정에서 설정하게 되어 있어서 모르면 더 복잡할지도..


-mmcu=architecture

Note that when only using -mmcu=architecture but no -mmcu=MCU type, including the file <avr/io.h> cannot work since it cannot decide which device's definitions to select.


Architecture Macros

avr5

AVR_ARCH=5

AVR_MEGA [5]

AVR_ENHANCED [5]

AVR_HAVE_JMP_CALL [4]

AVR_HAVE_MOVW [1]

AVR_HAVE_LPMX [1]

AVR_HAVE_MUL [1]

AVR_2_BYTE_PC [2]

avr51

AVR_ARCH=51

AVR_MEGA [5]

AVR_ENHANCED [5]

AVR_HAVE_JMP_CALL [4]

AVR_HAVE_MOVW [1]

AVR_HAVE_LPMX [1]

AVR_HAVE_MUL [1]

AVR_HAVE_RAMPZ [4]

AVR_HAVE_ELPM [4]

AVR_HAVE_ELPMX [4]

AVR_2_BYTE_PC [2]


-mmcu=MCU type

The following MCU types are currently understood by avr-gcc. The table matches them against the corresponding avr-gcc architecture name, and shows the preprocessor symbol declared by the -mmcu option. 


Architecture MCU name    Macro

avr5/avr51 [3] atmega128   __AVR_ATmega128__

[링크 : http://www.nongnu.org/avr-libc/user-manual/using_tools.html]





#define AVR 1

#define __AVR 1

#define __AVR_ARCH__ 5

#define __AVR_ATmega128__ 1

#define __AVR_ENHANCED__ 1

#define __AVR_MEGA__ 1

#define __AVR__ 1

#define __CHAR_BIT__ 8

#define __DBL_DENORM_MIN__ 1.40129846e-45

#define __DBL_DIG__ 6

#define __DBL_EPSILON__ 1.19209290e-7

#define __DBL_HAS_INFINITY__ 1

#define __DBL_HAS_QUIET_NAN__ 1

#define __DBL_MANT_DIG__ 24

#define __DBL_MAX_10_EXP__ 38

#define __DBL_MAX_EXP__ 128

#define __DBL_MAX__ 3.40282347e+38

#define __DBL_MIN_10_EXP__ (-37)

#define __DBL_MIN_EXP__ (-125)

#define __DBL_MIN__ 1.17549435e-38

#define __DECIMAL_DIG__ 9

#define __FINITE_MATH_ONLY__ 0

#define __FLT_DENORM_MIN__ 1.40129846e-45F

#define __FLT_DIG__ 6

#define __FLT_EPSILON__ 1.19209290e-7F

#define __FLT_EVAL_METHOD__ 0

#define __FLT_HAS_INFINITY__ 1

#define __FLT_HAS_QUIET_NAN__ 1

#define __FLT_MANT_DIG__ 24

#define __FLT_MAX_10_EXP__ 38

#define __FLT_MAX_EXP__ 128

#define __FLT_MAX__ 3.40282347e+38F

#define __FLT_MIN_10_EXP__ (-37)

#define __FLT_MIN_EXP__ (-125)

#define __FLT_MIN__ 1.17549435e-38F

#define __FLT_RADIX__ 2

#define __GNUC_MINOR__ 1

#define __GNUC_PATCHLEVEL__ 0

#define __GNUC__ 4

#define __GXX_ABI_VERSION 1002

#define __INTMAX_MAX__ 9223372036854775807LL

#define __INTMAX_TYPE__ long long int

#define __INT_MAX__ 32767

#define __LDBL_DENORM_MIN__ 1.40129846e-45L

#define __LDBL_DIG__ 6

#define __LDBL_EPSILON__ 1.19209290e-7L

#define __LDBL_HAS_INFINITY__ 1

#define __LDBL_HAS_QUIET_NAN__ 1

#define __LDBL_MANT_DIG__ 24

#define __LDBL_MAX_10_EXP__ 38

#define __LDBL_MAX_EXP__ 128

#define __LDBL_MAX__ 3.40282347e+38L

#define __LDBL_MIN_10_EXP__ (-37)

#define __LDBL_MIN_EXP__ (-125)

#define __LDBL_MIN__ 1.17549435e-38L

#define __LONG_LONG_MAX__ 9223372036854775807LL

#define __LONG_MAX__ 2147483647L

#define __NO_INLINE__ 1

#define __PTRDIFF_TYPE__ int

#define __REGISTER_PREFIX__ 

#define __SCHAR_MAX__ 127

#define __SHRT_MAX__ 32767

#define __SIZE_TYPE__ unsigned int

#define __STDC_HOSTED__ 1

#define __STDC__ 1

#define __UINTMAX_TYPE__ long long unsigned int

#define __USER_LABEL_PREFIX__ 

#define __USING_SJLJ_EXCEPTIONS__ 1

#define __VERSION__ "4.1.0"

#define __WCHAR_MAX__ 32767

#define __WCHAR_TYPE__ int

#define __WINT_TYPE__ unsigned int 

[링크 : http://www.avrfreaks.net/forum/how-does-mmcumcutarget-work]


'embeded > AVR (ATmega,ATtiny)' 카테고리의 다른 글

마우스 DIY 자료  (0) 2015.09.23
키보드 DIY 자료  (0) 2015.09.23
ubuntu 에서 AVR 컴파일하기  (0) 2015.07.30
USART UBRR error rate  (0) 2015.07.29
avr-libc 8bit AVR C++  (0) 2015.07.28
Posted by 구차니
embeded/AVR (ATmega,ATtiny)2015. 7. 30. 17:46

이러다가 조만간.. 메인 컴터를 리눅이로 갈아 탈듯 -_-

(게임도 안하는데 머...)



$ sudo apt-get install gcc-avr avr-libc avrdude 

[링크 : http://eiggerc.blogspot.kr/2013/03/ubuntu-avr.html]


올 ㅋ

pi@raspberrypi ~ $ avr-

avr-addr2line   avr-c++filt     avr-gcc-4.7.2   avr-gcov        avr-nm          avr-readelf

avr-ar          avr-cpp         avr-gcc-ar      avr-gprof       avr-objcopy     avr-size

avr-as          avr-g++         avr-gcc-nm      avr-ld          avr-objdump     avr-strings

avr-c++         avr-gcc         avr-gcc-ranlib  avr-man         avr-ranlib      avr-strip 


c++ 예제.파일 갯수가 여러개이니 왜 DDRA나 이런게 없냐고 하지 말자?

ATmega1284P.h

AvrBlinkenLed.cpp

IOPort.h

IOPort.cpp

Led.h

Led.cpp 

[링크 : http://10rem.net/.../gnu-cplusplus-blinkenled-part-1...]


project & makefile

$ avr-c++ -mmcu=atmega128 IOPort.cpp

[링크 : http://www.nongnu.org/avr-libc/user-manual/group__demo__project.html]


avr-gcc 기본 헤더 경로 확인

pi@raspberrypi ~/src/avr $ avr-gcc -print-file-name=include

/usr/lib/gcc/avr/4.7.2/include 

[링크 : http://ubuntuforums.org/showthread.php?t=1014673]


위의 예제는 직접 DDRA나 PORTA 등을 선언해서 쓴것이고

원래는 아래 경로의 io.h 를 끌어오면 알아서 mmcu에 맞춰서 하위 헤더를 끌어오게 된다.

pi@raspberrypi ~/src/avr $ sudo find / -name io.h

/usr/lib/avr/include/avr/io.h 


빌드는 성공! 굽는건 나중에 
pi@raspberrypi ~/src/avr $ make
avr-c++ -mmcu=atmega128 IOPort.cpp AvrBlinkenLed.cpp
In file included from IOPort.h:12:0,
                 from AvrBlinkenLed.cpp:10:
ATmega1284P.h:14:0: warning: "PINA" redefined [enabled by default]
In file included from /usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h:150:0,
                 from AvrBlinkenLed.cpp:9:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom128.h:135:0: note: this is the location of the previous definition
In file included from IOPort.h:12:0,
                 from AvrBlinkenLed.cpp:10:
ATmega1284P.h:15:0: warning: "DDRA" redefined [enabled by default]
In file included from /usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h:150:0,
                 from AvrBlinkenLed.cpp:9:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom128.h:138:0: note: this is the location of the previous definition
In file included from IOPort.h:12:0,
                 from AvrBlinkenLed.cpp:10:
ATmega1284P.h:16:0: warning: "PORTA" redefined [enabled by default]
In file included from /usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/io.h:150:0,
                 from AvrBlinkenLed.cpp:9:
/usr/lib/gcc/avr/4.7.2/../../../avr/include/avr/iom128.h:141:0: note: this is the location of the previous definition



2009/04/07 - [embeded/AVR (ATmega/ATtiny)] - linux에서 AVR 컴파일하기



'embeded > AVR (ATmega,ATtiny)' 카테고리의 다른 글

키보드 DIY 자료  (0) 2015.09.23
avr-gcc -mmcu 관련 작동 내용  (0) 2015.08.02
USART UBRR error rate  (0) 2015.07.29
avr-libc 8bit AVR C++  (0) 2015.07.28
avr twi / i2c 예제 및 풀업관련  (0) 2015.07.19
Posted by 구차니
embeded/raspberry pi2015. 7. 30. 09:50

composite 해상도 관련

ssh로 하니 안되서 마우스 + 키보드 연결하고 파일로 저장해서 읽어옴 -_-

$ xdpyinfo

$ cat xdpy.txt

name of display:    :0.0

version number:    11.0

vendor string:    The X.Org Foundation

vendor release number:    11204000

X.Org version: 1.12.4

maximum request size:  16777212 bytes

motion buffer size:  256

bitmap unit, bit order, padding:    32, LSBFirst, 32

image byte order:    LSBFirst

number of supported pixmap formats:    7

supported pixmap formats:

    depth 1, bits_per_pixel 1, scanline_pad 32

    depth 4, bits_per_pixel 8, scanline_pad 32

    depth 8, bits_per_pixel 8, scanline_pad 32

    depth 15, bits_per_pixel 16, scanline_pad 32

    depth 16, bits_per_pixel 16, scanline_pad 32

    depth 24, bits_per_pixel 32, scanline_pad 32

    depth 32, bits_per_pixel 32, scanline_pad 32

keycode range:    minimum 8, maximum 255

focus:  window 0x1200005, revert to Parent

number of extensions:    27

    BIG-REQUESTS

    Composite

    DAMAGE

    DOUBLE-BUFFER

    DPMS

    DRI2

    GLX

    Generic Event Extension

    MIT-SCREEN-SAVER

    MIT-SHM

    RANDR

    RECORD

    RENDER

    SECURITY

    SGI-GLX

    SHAPE

    SYNC

    X-Resource

    XC-MISC

    XFIXES

    XFree86-DGA

    XFree86-VidModeExtension

    XINERAMA

    XInputExtension

    XKEYBOARD

    XTEST

    XVideo

default screen number:    0

number of screens:    1


screen #0:

  dimensions:    656x416 pixels (174x110 millimeters)

  resolution:    96x96 dots per inch

  depths (7):    16, 1, 4, 8, 15, 24, 32

  root window id:    0xe2

  depth of root window:    16 planes

  number of colormaps:    minimum 1, maximum 1

  default colormap:    0x20

  default number of colormap cells:    64

  preallocated pixels:    black 0, white 65535

  options:    backing-store NO, save-unders NO

  largest cursor:    656x416

  current input event mask:    0x7a003c

    ButtonPressMask          ButtonReleaseMask        EnterWindowMask

    LeaveWindowMask          StructureNotifyMask      SubstructureNotifyMask

    SubstructureRedirectMask FocusChangeMask          PropertyChangeMask

  number of visuals:    33

  default visual id:  0x21

  visual:

    visual id:    0x21

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    8 bits

  visual:

    visual id:    0xc2

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc3

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc4

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc5

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc6

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc7

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc8

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc9

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xca

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xcb

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xcc

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xcd

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xce

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xcf

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd0

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd1

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd2

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd3

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd4

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd5

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd6

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd7

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd8

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd9

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xda

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xdb

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xdc

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xdd

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xde

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xdf

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xe0

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0x41

    class:    TrueColor

    depth:    32 planes

    available colormap entries:    256 per subfield

    red, green, blue masks:    0xff0000, 0xff00, 0xff

    significant bits in color specification:    8 bits 


$ cat xran.txt

Screen 0: minimum 656 x 416, current 656 x 416, maximum 656 x 416

default connected 656x416+0+0 0mm x 0mm

   656x416         0.0* 


[링크 : http://www.cyberciti.biz/faq/how-do-i-find-out-screen-resolution-of-my-linux-desktop/]


composite + HDMI는 불가능 하다고..

듀얼 모니터로 쓸수 있을까 아니면 clone 모드로 가능할까 싶었는데

물건너 간 듯하다 ㅠㅠ

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=4034&p=53117]




+

심심해서 해보는 뻘짓

음.. 작게 나오네...


gimp에서 fb 덤프해서 복구

RGB565 ㄷㄷㄷ


아무튼 이렇게 아담하게 나온다.



+

2015.07.31

아무것도 연결안하니 composite 출력이 기본으로 설정되는 듯

Posted by 구차니
embeded/AVR (ATmega,ATtiny)2015. 7. 29. 17:54

표로는 감이 안오는데



[링크 : http://www.atmel.com/images/doc2467.pdf]



파형으로 보니 조금 감이 오는 기분?


[링크 : http://www.robotroom.com/Asynchronous-Serial-Communication-2.html]



[링크 : http://web.engr.oregonstate.edu/~traylor/ece473/lectures/uart.pdf]


심심해서 계산해보니...

56kbps / 16M 에서

8바이트 연속으로 보내면 0.5 비트 가 부족해서 최악의 경우 인식을 못할 수도 있겠으나


아마도 UART로 사용시 start bit를 trigger 삼아 그 이후로

클럭을 맞추는 것으로 추측되니 웬만해서는 문제가 안 될지도..

Posted by 구차니