Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Twinhan VP1020 DST DiseqC command length patch/fix.



Hello,

 The current dst frontend for twinhan vp1020 only supports diseqc commands
up to length 4. This patch against current CVS adds support for length 5 
(rotors etc now work). I have not figured out how to get len 6 working yet.
Anyone know if this is possible with this problematic card ?

-- 
-Jonan Santiago

--- dst.c.orig	2004-11-18 18:41:15.000000000 -0500
+++ dst.c	2004-11-18 18:39:30.000000000 -0500
@@ -767,10 +767,20 @@
 
 	if (state->dst_type == DST_TYPE_IS_TERR)
 		return 0;
-
-	if (cmd->msg_len == 0 || cmd->msg_len > 4)
-		return -EINVAL;
-	memcpy(&paket[3], cmd->msg, cmd->msg_len);
+   
+        switch(cmd->msg_len){
+	 case 3:
+	 case 4:
+	   paket[2]=cmd->msg_len;
+	   memcpy(&paket[3], cmd->msg, cmd->msg_len);
+	   break;
+	 case 5:
+	   memcpy(&paket[2], cmd->msg, cmd->msg_len);
+	   break;
+	 default:
+	   return -EINVAL;
+	}
+   
 	paket[7] = dst_check_sum(&paket[0], 7);
 	dst_command(state, paket, 8);
 	return 0;





Home | Main Index | Thread Index