.Net framework based software that loads Configuration file into microcontroller flash - c

I am new to microcontroller - Recently I am working on an embedded device that has a nice Software based on .Net framework. This Software allow users to change the pre-loaded configurations like TCP/IP parameters(IP,Port), temperature thresholds, timer setting, enabling and disabling specific peripherals or GPIO's. After we make our desired configuration there is a button on .Net Form titled as "Load Configuration" or "Save Configuration file" and when we press this button all configuration is loaded into embedded device serially.
Now i am interested in making the software like this which help me in just making some changes in configuration, instead of loading a huge hex file again and again.
Please help me in this regard.

Related

Atmel Studio 7 doesn't show any debugging tools

I just installed Atmel Studio 7 on my Windows 10 HP laptop. This is my first time working w/ a C compiler since high school, and my first time working with a microcontroller.
I loaded one of their example projects and built it without any errors. However, I am not able to debug since there is no option for a debugging tool (see screenshot). The only option is for 'Custom programming tool', while their tutorial videos all show an option for a SAM-ICE debugger or Simulator (e.g. https://www.youtube.com/watch?v=9QlDSNeuAdY)
I have spent hours trying to find an issue online w/ no luck. Please help!
I have had the same problem. I solved this by unchecking the box Tools->Options->Debugger->Backend Agent-> Start Local Backend Agent and then checking that box again
I'll add this information as I also just spent a fair amount of time trying to determine why no debugging tool was available as an option:
Make sure you have the right device connected.
I know this sounds terribly basic, but in my case I have both SAML21 and SAML22 Xplained Pro boards, and I'd forgotten which one I had targeted for a particular project. If you have a project open that targets one, but the attached device is different, you may have this problem. The only available option becomes "Custom Programming Tool" which isn't helpful.
After connecting the correct board, I had to revisit the Tool menu and change the selected debugger/programmer to the appropriate (only) EDBG • ATML###### option.
If you're not using an Atmel Xplained board, this may not be applicable.
I spend some time about this problem as well and found out that all I had to do was go to Device and Debugging options then go to Build and select All Configurations in the configuration box then the simulator should appear under tools.
In my case it was atbackend.exe which crashed after hibernating my laptop. I had to stop Atmel studio, ensure that no AtmelStudio or atbackend processes exist in system and then start ATmel STudio again. After that Simulator appeared in Tool-Selected debugger/programmer.

How to switch from PIO to DMA modes on a SATA Controller in code?

I am running windows 7. I need build an unattended/automated test to exercise some SATA drives. One of the test requirements is to exercise the drive with DMA in both states (enabled AND disabled).
To manually change this setting, you would:
1) Open Device Manager.
2) Expand "IDE ATA/ATAPI controllers".
3) Pick one of the ATA Channels listed; right-click properties; Advanced tab.
4) Toggle "Enable DMA".
As I said, I need to do this unattended. Any ideas on how it could be done? I have searched Windows Dev Center high and low, including the Device instance and setup stuff in the driver development kit. I can't find anything relevant there. I've also searched for registry keys that might do the job, but haven't found anything there either.

Accessing second monitor in WPF when monitor setup set for "Show Desktop Only On 1"

I'm writing an application that will be run on a windows 7 system with a monitor and a front panel as a dual screen setup. Virtual desktop software will be used to access it most of the time, and the virtualization software should ONLY show what is on the monitor, not the front panel.
When set for "Extend these displays", the virtualization software shows both screens spliced together, and there does not appear to be a way to turn it off. If I set the Multiple Displays setting to be "Show Desktop Only On 1", the virtualization system works correctly, but now in my WPF application it's as if the second monitor does not exist. My Screen.AllScreens array only shows one monitor.
Is there a way I can get my WPF application to show on the second monitor in full screen mode when the desktop is set for "Show Desktop Only On 1"? For purposes of this application, it will ONLY ever be full screen.
You are approaching the problem from the wrong angle. You need to look at the virtual desktop software and not your app or Windows itself.
First off, for Windows to use dual screens, which you want, you must set "Extend these displays". Without this, it is impossible for Windows or any other software to use the second display.
Secondly, under "virtual desktop software" I assume something like Remote Desktop, TeamViewer or VNC. All of those programs should allow you to select whether to show all displays. For instance in Remote Desktop, before connecting you can select Options -> Display -> uncheck "Use all of my monitors for remote sessions".
If on the other hand you are looking for a way to limit the end user, that he/she couldn't in no way access or see the other monitor, then you must find a virtual desktop software that can only show the main display (this might be very hard, because most software can handle multi-display setups). The other solution is to extend your own software to stream it's main screen output to another machine and accept input from it - think of writing your own virtual desktop software.

Can silverlight queue a list of files and post, when connection available, to a web service / url?

I need to provide a way of users uploading multiple files (can be 10MB each) over Mac, PC and a mobile device (something with an SD slot).
The connection from the mobile device can be poor so I need to enable queuing of the files so they can be delivered when connection becomes available.
I am looking at Silverlight as a potential option using something like this example uses and sending over the files when a connection is available.
http://www.microsoft.com/silverlight/out-of-browser/demo/
I have tried searching for silverlight articles but not found anything appropriate. What I am trying to avoid is writing multiple versions of the software for Mac+PC (browser) and mobile device.
Can silverlight provide this kind of functionality or is something I would have to approach differently?
Silverlight can be used to do that.
You don't need to use the out-of-browser functionality, silverlight gives you low-level control over sockets and threads.
For devices it's a different scenario, as AnthonyWJones points out.
There is a silverlight version for the nokia, but I've know idea if it is actively developed. The is also a c++ version for linux/meego, there is a mono version.
But all those are different versions.

"Out of browser" web application running at Start-Up?

I've become familiar with the new concept of "out of browser" web applications, supported in the recent Silverlight, JavaFX, Adobe AIR etc.
Listening recently to a podcast on the subject by Scott Hanselman, I've become aware that one of the purposes behind these new architectures is to allow for "desktop-application-feel". Also, I understand some (or all) of these allow for some offline access to a sandbox of resources. This really sounds as if these frameworks could be an alternative to "real" desktop applications, as long as the application does not require messing with the user's machine (i.e. access to peripherals, certain file IO, etc).
I have a very specific question. My application needs to run at start-up. Is it possible to do so using such a framework without requiring the user to download and run a certain executable?
For example, I could always direct the user to download a small EXE that will put a .lnk file in the start-up directory, but I want to avoid such a patch.
To summarize: is it possible to have an out-of-browser web application setup itself to run at start-up without requiring file download?
To further clarify, this question does not come from an "evil" place, but rather from trying to decide whether "out-of-browser" frameworks are indeed a proper alternative to a desktop application, for my specific requirements.
The BkMark example here shows how to start an application on startup using Adobe Air. So, yes it is possible.
So, here's the deal: web apps in general will have a security context around them, and by default won't have access to write to the filesystem (outside of a temp files), access the registry, etc.
One way is, as you said, have the user run something or configure it so the lnk is executed on startup.
Another way, and I think, more in line of what you want, is that the user can run the program himself, click some button in the application, and it's configured.
I know with Java you could do this, but the user has to allow full access to their system, because your app would need to change System configuration. Then you could just configure it (by writing a lnk to your WebStart JNLP in the Startup folder)
For Internet Exploder, Javascript apps do have write access to the disk.
For other (better-secured) browsers you will either need to have a download, or Adobe AIR.
Assuming you are building for Windows, launching an executable at startup can be done several ways.
For user session startup, you can achieve this either by putting a lnk file in the appropriate folder, or with a registry entry. For operating system startup, you can achieve this with a registry entry. There are several permutations:
run application once on boot (UI not allowed)
run application every boot (UI not allowed)
start service every boot according to policy set in registry
run application once on user session start
run application every user session
Since an out of browser application has UI I expect you mean run application every user session and in this case you may as well put an LNK file in the user's startup folder.
I just created a shortcut for an SL4 OOB application, and this was the Target of the shortcut:
"C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe" 2635882436.localhost
A search of my disk revealed that location 2635882436.localhost is a folder.
C:\Users\<mylogin>\AppData\LocalLow\Microsoft\Silverlight\OutOfBrowser\2635882436.localhost
I rather doubt an OOB app of any type could place a shortcut in the Startup folder unless you somehow obtained Full Trust.

Resources