LabVIEW Embedded

cancel
Showing results for 
Search instead for 
Did you mean: 

LM3S8962 - Simulate button presses to another circuit

Hi all,

 

I am trying to control a 4D Systems SOMO-4D audio module using my LM3S8962 board and the LabVIEW Embedded Module for ARM Microcontrollers. Speaking with an NI engineer has let me to abandon trying to use the serial protocol defined in the audio module's datasheet, as LabVIEW does not programmatically expose microsecond-level timing to the user. So now, I'm trying to use the "key mode" of the module, where the user is supposed to connect several pushbuttons to act as Play/Next/Previous buttons for the device.

 

My question is, how should I go about emulating this using my ARM board? I tried programming the board to output a high, then a low, then a high value, but it didn't work.

 

Thanks in advance for any help! 

Message 1 of 5
(6,952 Views)

Hi,

 

Looking at the datasheet, I would have also thought that exciting those pins responsible for Play/Next/Previous would run this module in Key Mode. If that isn't working, then it's possible that these pins also use a proprietary protocol. As I understand it, when you spoke with my colleague Grant about Serial Mode, he got in touch with 4D Systems and found that their module doesn't use I2C, SPI, Serial, TCP, or any standard protocol, therefore communicating with the module from LabVIEW for ARM isn't possible because we can't use their custom protocol. Since Key Mode isn't working in this way, I'd suspect that is probably proprietary too. Have you contacted 4D Systems about this?

Product Support Engineer
National Instruments
0 Kudos
Message 2 of 5
(6,925 Views)

Thanks so much for the reply!

 

Yes, in working with Grant, we ruled out the possibility of using Serial Mode; I think Key Mode should work though, because all it is is using pushbuttons to control the module. All I'm having trouble with is, as you say, exciting the pins responsible for Play/Next/Previous. I'm just not sure if I know how to do this correctly in software. I'm much more inclined to believe that the problem lies in my attempt at coding a working program, rather than the presence of a proprietary protocol. How would you suggest that I construct my LabVIEW code to accomplish this?

 

Thank you! 

0 Kudos
Message 3 of 5
(6,916 Views)
Here's a thought. I noticed that the lines need pulled to ground to initiate Play, Next, Previous, or Reset. When the LabVIEW code starts up on your LM3S board, all of the digital out pins' start-up states are LOW. This could cause all of your module's commands to try executing at once, maybe that's causing a problem. Try adding some "initialization" code -- put all of the Play, Next, Previous, and Reset pins HIGH to deactivate them, then put Reset LOW to clear the module. Then see if you can interface with the module as expected by pulling the pins LOW.
Product Support Engineer
National Instruments
Message 4 of 5
(6,900 Views)
Thank you so much, that sounds like it will work! I'll try that the next time I'm working with our hardware.
0 Kudos
Message 5 of 5
(6,887 Views)