3-Bit BCD into integer

More
07 Sep 2016 13:02 #80124 by terkaa
Hi,

I have ATC forced mode rotary switch it has 3-bit output these 3 outputs form a BCD number. My question is how to read these three binary inputs and output as integer.(for case switch)

Tero

Please Log in or Create an account to join the conversation.

More
07 Sep 2016 14:08 - 07 Sep 2016 14:09 #80125 by emcPT
Replied by emcPT on topic 3-Bit BCD into integer
you can write a simple component or you can use a already made one, if available.

Look at this
www.linuxcnc.org/docview/html//man/man9/weighted_sum.9.html
Last edit: 07 Sep 2016 14:09 by emcPT.

Please Log in or Create an account to join the conversation.

More
07 Sep 2016 14:25 #80126 by terkaa
Replied by terkaa on topic 3-Bit BCD into integer
Hi,

I was thinking of writing a comporent. Any examples how to do this?

Tero

Please Log in or Create an account to join the conversation.

More
07 Sep 2016 16:19 #80128 by andypugh
Replied by andypugh on topic 3-Bit BCD into integer
The carousel component undertands BCD.
It is also intended to be used on ATCs. But you should be able to use it to just read out the number, I think.

Please Log in or Create an account to join the conversation.

More
07 Sep 2016 16:32 #80130 by terkaa
Replied by terkaa on topic 3-Bit BCD into integer
So it is this part?

case 'D': // BCD
i = 0;
pow = 1;
while (i < inst_sense){
if (i < inst_sense) d += sense(i) << (i % 4);
i++;
if (i < inst_sense) d += sense(i) << (i % 4);
i++;
if (i < inst_sense) d += sense(i) << (i % 4);
i++;
if (i < inst_sense) d += sense(i) << (i % 4);
i++;
p += d * pow;
pow *= 10;
d = 0;
}


I will try to understand it and borrow it to my code :)

Tero

Please Log in or Create an account to join the conversation.

More
07 Sep 2016 16:43 #80131 by andypugh
Replied by andypugh on topic 3-Bit BCD into integer
Alternatively, why don't you tell me why the carousel company isn't right for your ATC? Perhaps it makes sense to enhance it for everyone

Please Log in or Create an account to join the conversation.

More
07 Sep 2016 16:47 - 07 Sep 2016 16:48 #80133 by terkaa
Replied by terkaa on topic 3-Bit BCD into integer
This is not for carousel position. This is for manual moving of ATC arm. Machine has two selector switches for selecting which move to make. Ie. arm_in arm_out, arm etc. These switches output BCD. And if you remember i made a custom HAL component for ATC, and now I am adding this manual functionality in case of there is something wrong with ATC like chips between tool and arm preventing automatic tool change.



Tero
Last edit: 07 Sep 2016 16:48 by terkaa.

Please Log in or Create an account to join the conversation.

More
07 Sep 2016 18:31 #80154 by andypugh
Replied by andypugh on topic 3-Bit BCD into integer
Are there _only_ 4 bits? If so, then there is absolutely no difference between BCD and binary.

Decimal binary BCD
1 00000001 00000001
2 00000010 00000010
3 00000011 00000011
...
9 00001001 00001001
10 00001010 00010000
11 00001011 00010001
...
And the HAL "weighted sum" component is all you need.

You could also use a mux8 component

Please Log in or Create an account to join the conversation.

Time to create page: 1.090 seconds
Powered by Kunena Forum