Atmel line-scan kameralarda calismayan ornek program
Atmel Line-scan kameranin (AT71-SC2CL4010-BA1) surucu paketinin icinden cikan ornek programin (multicam-4.6.1/samples/console/terminal/terminal.c) calismasi icin asagidaki yamayi yapmam gerekti. Boylesine islerle ugrasan insanlarin newline ile carriage return karisikligindan dogan bir hata yapmasi –ve bu basit hatanin 2 gunume mal olmasi- cok ilginc. 2 gunume mal olan bir hatayi yapanlarin kodlama stiline uymamam ise tek tesellimdi :-)
Ilgili makamlara da basvurmayi dusunuyorum. Cevap alamazsam diye Google icin bir seyler yazayim da bari baskasinin zamani gitmesin.
fix atmel line-scan camera driver package terminal terminal.c sample
Ve iste “o” yama:
— /home/baris/drivers/multicam-4.6.1/samples/console/terminal/terminal.c Mon Aug 29 15:44:46 2005
+++ terminal.c Wed Aug 31 18:02:12 2005
@@ -22,6 +22,9 @@
BOOL inited = FALSE;
unsigned char c;
+ char CR = 13;
+ unsigned long CRsize = 1;
+
// Enumerate Camera Link Serial Ports
status = clGetNumSerialPorts (&NumPorts);
if (status != CL_ERR_NO_ERR)
@@ -123,8 +126,13 @@
while (1)
{
c=(unsigned char)getchar();
- size = 1;
- status = clSerialWrite (SerialRefPtr, &c, &size, 1000);
+ if (c == ‘\n’) {
+ status = clSerialWrite(SerialRefPtr, &CR, &CRsize, 1000);
+ } else {
+ size = 1;
+ status = clSerialWrite (SerialRefPtr, &c, &size, 1000);
+ }
+
if (status != CL_ERR_NO_ERR)
{
printf (”clSerialWrite error %d\n”, status);