Index: ram/etiwsn.c
===================================================================
--- ram/etiwsn.c	(revision b2691c2c5c6452bd60a230b122d7ce277eef101b)
+++ ram/etiwsn.c	(revision ffce2bc24d9bc17b76e2f79a5911072ae50bb992)
@@ -53,5 +53,5 @@
 
 		/* slot B */
-		vbufs[curvce].idhwsb = tmpval - 1;
+		vbufs[curvce].idhwsb = (int8_t)(tmpval - 1);
 
 		memcpyw(vbufs[curvce].idhwvbf, &wslib[tmpval - 1],
@@ -62,6 +62,6 @@
 		memcpyw(fpuws, vbufs[curvce].idhwvbf, NUMWPNT);
 
-		*(fpuws - 1) = vbufs[curvce].idhwvbf[0];
-		*(fpuws + NUMWPNT) = vbufs[curvce].idhwvbf[NUMWPNT - 1];
+		*(fpuws - 1) = (uint16_t)vbufs[curvce].idhwvbf[0];
+		*(fpuws + NUMWPNT) = (uint16_t)vbufs[curvce].idhwvbf[NUMWPNT - 1];
 
 	} else {
@@ -69,5 +69,5 @@
 		/* slot A */
 
-		vbufs[curvce].idhwsa = tmpval - 1;
+		vbufs[curvce].idhwsa = (int8_t)(tmpval - 1);
 
 		memcpyw(vbufs[curvce].idhwvaf, &wslib[tmpval - 1],
@@ -78,6 +78,6 @@
 		memcpyw(fpuws, vbufs[curvce].idhwvaf, NUMWPNT);
 
-		*(fpuws - 1) = vbufs[curvce].idhwvaf[0];
-		*(fpuws + NUMWPNT) = vbufs[curvce].idhwvaf[NUMWPNT - 1];
+		*(fpuws - 1) = (uint8_t)vbufs[curvce].idhwvaf[0];
+		*(fpuws + NUMWPNT) = (uint8_t)vbufs[curvce].idhwvaf[NUMWPNT - 1];
 	}
 
@@ -124,8 +124,8 @@
 
 	ec = stccol - cfetp->flcol;	/* setup edit buffer column */
-	ebuf[ec] = k + '0';		/* enter new data in buffer */
+	ebuf[ec] = (int8_t)(k + '0');	/* enter new data in buffer */
 	ebuf[2] = '\0';			/* make sure string is terminated */
 
-	dspbuf[0] = k + '0';		/* setup for display */
+	dspbuf[0] = (int8_t)(k + '0');	/* setup for display */
 	dspbuf[1] = '\0';
 
